go语言解析json库

strangerLove · · 1719 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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)
}

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


有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:strangerLove

查看原文:go语言解析json库

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1719 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传