我知道如何在没有太多问题的情况下使用JSON和接口。
我想让用户从JSON字符串中选择一个JSON元素,并将元素模式存储在一个字符串中,以便我以后可以动态加载它。 我有以下JSON:
{
"id": 1,
"name": "A green door",
"price": 12.50,
"tags": ["home", "green"]
}
当然,如果我想要JSON的id
元素,这很容易,因为id
是我要保存的字符串。
现在让我们说我想要标签[1]。
随着JSON变得越来越复杂,你会发现这变得越来越难。例如,我可能想要保存类似于tags[1].data[0].values.id
的模式,依此类推......
基本上我需要从我的JSON中获取一个定义良好的元素,并且需要将模式保存为字符串。
如果我没有实现自己的字符串解析器,GO是否能解决这类问题?
答案 0 :(得分:1)
我能想到有几个包有解决这类问题的工具。以下是我头脑中的一些例子:
1)github.com/jmoiron/jsonq
jq := jsonq.NewQuery(yourData)
jq.Int("id")
jq.String("tags", "0")
2)github.com/araddon/gou
:
jh := gou.NewJsonHelper(yourData)
jh.Int("id")
jh.Strings("tags[0]")
3)https://github.com/elgs/gojq
包非常相似,但功能结构略有不同。