如果我有一些任意的 JSON,我如何使用地图键和/或切片索引进行深度集和获取嵌套属性?例如,在JSON API 示例的以下摘录中:{ "data": [{ "type": "posts", "id": "1", "title": "JSON API paints my bikeshed!", "links": { "self": "http://example.com/posts/1", "author": { "self": "http://example.com/posts/1/links/author", "related": "http://example.com/posts/1/author", "linkage": { "type": "people", "id": "9" } } } }]}我想获得字符串"9"位于data.0.links.author.linkage.id使用类似:[]interface{}{"data",0,"links","author","linkage","id"}我知道这样做的理想方法是创建映射到我为生产代码所做的 JSON 对象的嵌套结构,但有时我需要做一些快速测试,这在 Go 中也很好。
1 回答
回首忆惘然
TA贡献1847条经验 获得超11个赞
你有stretchr/objx提供类似的方法。
使用示例:
document, _ := objx.FromJSON(json)
document.Get("path.to.field[0].you.want").Str()
然而,除非你真的提前完全不知道你的 JSON 输入的结构,否则这不是 golang 的首选方式......
- 1 回答
- 0 关注
- 259 浏览
添加回答
举报
0/150
提交
取消