
JSON(JavaScript Object Notation)是一种比XML更轻量级的数据交换格式,在易于人们阅读和编写的同时,也易于程序解析和生成。
Go语言内建对JSON的支持,使用GO语言内置的encoding/json标准库,开发者可以轻松使用GO程序生成和解析JSON格式的数据。
示例:
package main
import (
"encoding/json"
"fmt"
)
type Book struct {
Title string
Author []string
Publisher string
Price float64
IsPublished bool
}
func main() {
b := []byte(`{
"Title":"go programming language",
"Author":["john","ada","alice"],
"Publisher":"qinghua",
"IsPublished":true,
"Price":99
}`)
//先创建一个目标类型的实例对象,用于存放解码后的值
var book Book
err := json.Unmarshal(b, &book)
if err != nil {
fmt.Println("error in translating,", err.Error())
return
}
fmt.Println(book.Author)
}Json.Unmarshal()函数会根据一个约定的顺序查找目标结构中的字段,如果找到一个则进行匹配。这些字段在类型声明中必须都是以大写字母开头、可被导出的字段。