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)
}
有什么区别,报什么错,大家自己动手试试更清楚,印象更深刻哈。。