Arrays 如何将Go结构的一部分定义为JSON字符串?
我有一个JSON API,我正试图使用一个简单的Go应用程序,并返回一个JSON字符串数组,这些字符串将被插入到数据库中供以后使用。JSON模型如下所示:Arrays 如何将Go结构的一部分定义为JSON字符串?,arrays,json,go,struct,unmarshalling,Arrays,Json,Go,Struct,Unmarshalling,我有一个JSON API,我正试图使用一个简单的Go应用程序,并返回一个JSON字符串数组,这些字符串将被插入到数据库中供以后使用。JSON模型如下所示: { "sites": { "count": 123, "site": [ { "id": 111, "name": "abc" }, {
{
"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"}
我似乎不知道如何定义一个在结构定义中的某个点停止解组的结构。是否有一种方法可以将[]结构的内容转储到结构数组中每个元素的字符串中,而不是定义子结构的内容?您可以使用
json.RawMessage
:
type Sites struct {
Count int `json:"count"`
SiteArr []json.RawMessage `json:"site"`
}
当您将数据解组到上述结构中时,
SiteArr
的每个元素都将包含每个元素的原始JSON消息,您可以使用string(sites.SiteArr[i])
完美!谢谢您。