go语言解析json库

json库:
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)
}

有什么区别,报什么错,大家自己动手试试更清楚,印象更深刻哈。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值