我有一个JSON API,我正在尝试通过一个简单的Go应用程序使用它,并返回一个JSON字符串数组,该数组将插入到数据库中以供以后使用。JSON模型如下所示:
{
"sites": {
"count": 123,
"site": [
{
"id": 111,
"name": "abc"
},
{
"id": 222,
"name": "def"
},
{
"id": 333,
"name": "ghi"
}
]
}
}
所需的结果是一个数组,如下所示:
{"id": 111, "name": "abc"}
{"id": 222, "name": "def"}
{"id": 333, "name": "ghi"}
我似乎无法弄清楚的是如何定义一个在结构定义的特定点停止解组的结构。有没有一种方法可以将[]结构的内容转储到struct数组中每个元素的字符串中,而不是定义子结构的内容?
您可以使用json.RawMessage
:
type Sites struct {
Count int `json:"count"`
SiteArr []json.RawMessage `json:"site"`
}
当您将数据解组到上述结构中时,的每个元素SiteArr
将包含每个元素的原始JSON消息,您可以使用来从中获取字符串值string(sites.SiteArr[i])
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句