json库:
在json库的中键名不需要区分大小写
---------------------------------------
在go中的结构成员必须要首字母大写
成员名字同json库中的健名,这里不区分大小写
如果在go中定义的成员名字同json库中的不一样,那么需要打标签
go测试代码:
xiezj@u197-254:~/xzjtest$ vi t2.json { "aaa":[ { "name": "Platypus", "Order": "Monotremata" }, { "Name": "Quoll", "Order": "Dasyuromorphia" } ] }
在json库的中键名不需要区分大小写
---------------------------------------
在go中的结构成员必须要首字母大写
成员名字同json库中的健名,这里不区分大小写
type Animal struct { Name string Order string } type abc struct { AAa []Animal }
如果在go中定义的成员名字同json库中的不一样,那么需要打标签
type Animal struct { Name string Order string } type abc struct { Ahh []Animal `json:"aaa"` }
go测试代码:
package main import ( "encoding/json" "fmt" "io/ioutil" ) func main() { type Animal struct { Name string Order string } type abc struct { Aaa []Animal //`json:"Aaa"` } file, _ := ioutil.ReadFile("t2.json") var animals abc err := json.Unmarshal(file, &animals) if err != nil { fmt.Println("error:", err) } //fmt.Println(animals.Aaac[0].Name) fmt.Println(animals.Aaa[0].Name) }有什么区别,报什么错,大家自己动手试试更清楚,印象更深刻哈。。
有疑问加站长微信联系(非本文作者)