为了账号安全,请及时绑定邮箱和手机立即绑定

用于解组 JSON 数组的 Go 结构

用于解组 JSON 数组的 Go 结构

Go
呼如林 2021-06-15 18:19:35
所以我有一些 JSON(由 PetFinder API 提供),它有一个 JSON 数组“pet”。我想从它解组,使用“编码/json”包,一个宠物结构的切片。 这种结构会是什么样子?我找不到 unmarshall 函数如何处理 JSON 数组的任何示例。这是我计划在拥有合适的结构后执行的操作:pfetch := new(PetsFetcher) // where PetsFetcher is the struct im asking forerr := json.Unmarshal(body, &pfetch)这是主体中的 json(以 ascii 字节切片的形式):{  "petfinder": {    "lastOffset": {      "$t": 5    },    "pets": {      "pet": [        {          "options": {            "option": [              {                "$t": "altered"              },              {                "$t": "hasShots"              },              {                "$t": "housebroken"              }            ]          },          "breeds": {            "breed": {              "$t": "Dachshund"            }          }    },        {          "options": {            "option": {              "$t": "hasShots"            }          },          "breeds": {            "breed": {              "$t": "American Staffordshire Terrier"            }          },          "shelterPetId": {            "$t": "13-0164"          },          "status": {            "$t": "A"          },          "name": {            "$t": "HAUS"          }        }      ]    }  }}提前致谢。
查看完整描述

2 回答

?
慕仙森

TA贡献1827条经验 获得超7个赞

您可以将 javascript 数组解组为切片。marhsal/unmarshalling 规则Marshal在json 包中描述。


要解组看起来像“$t”的键,您必须注释它将解压缩到的结构。


例如:


type Option struct {

    Property string `json:"$t,omitempty"`

}

可能出现的 $t 是错误的,应该是字典中的键。


查看完整回答
反对 回复 2021-06-21
  • 2 回答
  • 0 关注
  • 206 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信