json(javascript object notation)是一种比xml更轻量级的数据交换格式,在易于人们阅读和编写的同时,也易于程序解析和生成。
go语言内建对json的支持,使用go语言内置的encoding/json标准库,开发者可以轻松使用go程序生成和解析json格式的数据。
示例:
package mainimport ( "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()函数会根据一个约定的顺序查找目标结构中的字段,如果找到一个则进行匹配。这些字段在类型声明中必须都是以大写字母开头、可被导出的字段。
更多golang知识请关注golang教程栏目。
以上就是golang怎样读取json数据的详细内容。