1、示例一
{
"id":"8667597b-bcd9-51de31b655cd", "name":"ali-redis-analyse", "category":"db", "category_display":"数据库", "type":"redis", "type_display":"Redis", "attrs":{
"a":"dklasglkaslkd",
"b":"daskjlgasjl;d"
}, "date_created":"2022/10/11 11:48:06 +0800", "date_updated":"2022/10/11 14:09:17 +0800", "created_by":"istrator", "comment":"r-0xi2", "domain":"6dea0b4b-88eb-3d65e5558cab", "org_id":"00000000-0000-0000", "org_name":"Default"
}
如果josn对象很复杂的话,结构体写起来也是很麻烦的。但有了这个神器之后就不怕写结构体了,效果如下图
https://mholt.github.io/json-to-go/
示例代码:
type AutoGenerated struct { ID string `json:"id"` Name string `json:"name"` Category string `json:"category"` CategoryDisplay string `json:"category_display"` Type string `json:"type"` TypeDisplay string `json:"type_display"` Attrs struct { A string `json:"a"` B string `json:"b"` } `json:"attrs"` DateCreated string `json:"date_created"` DateUpdated string `json:"date_updated"` CreatedBy string `json:"created_by"` Comment string `json:"comment"` Domain string `json:"domain"` OrgID string `json:"org_id"` OrgName string `json:"org_name"` } func main() { var data AutoGenerated var s = `{"id":"8667597b-bcd9-51de31b655cd","name":"ali-redis-analyse", "category":"db","category_display":"数据库","type":"redis","type_display":"Redis","attrs":{"a":"dajkjfka","b":"djaskj"}, "date_created":"2022/10/11 11:48:06 +0800","date_updated":"2022/10/11 14:09:17 +0800", "created_by":"istrator","comment":"r-0x", "domain":"6dea0b4b-88eb-3d65e5558cab","org_id":"00000000-0000-0000-0000","org_name":"Default"}` err := json.Unmarshal([]byte(s),&data) if err != nil{ fmt.Println(err) return } fmt.Println(data) fmt.Println("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++") fmt.Println(data.Attrs.A) }
结果所示:
转载请备注原文链接!!!
原文地址:https://www.cnblogs.com/Biuget-Golang/p/16788425.html
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请务用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性