arrays - 如何解组结构内的多维数组
问题描述
我有以下数据:-
{"me":[{"id": "0xcfd","Title":"Story of Stackoverflow","Users":[{"id":"1","Name":"MetaBoss"},{"id":"2","Name":"Owner"}],"Tag":"golang,programming"}]}
我有以下结构: -
type Root struct {
ID string `json:"id,omitempty"`
Title string `json:"Title,omitempty"`
Myuser Users `json:"Users,omitempty"` // Users is struct
Tag string `json:"Tag,omitempty"`
}
type Users struct {
ID string `json:"id,omitempty"`
Name string `json:"Name,omitempty"`
}
为了解组数据,我正在尝试做以下事情 -
type Unmarh struct {
Me []Root `json:"me"`
}
var r Unmarh
err = json.Unmarshal(response, &r)
打印r.Me[0].Myuser
时,我无法获取数据。
我得到以下错误 -
json: cannot unmarshal array into go struct field Root.Myuser of type User struct {....Users struct data}
它需要Myuser
是多维array
类型而不是Users
结构。我不知道,如何在Users
multidimensional array
里面表示struct
解决方案
在 json 中,Users
键是一个数组,因此对应的 Go 字段应该是一个切片。
type Root struct {
ID string `json:"id,omitempty"`
Title string `json:"Title,omitempty"`
Users []User `json:"Users,omitempty"`
Tag string `json:"Tag,omitempty"`
}
推荐阅读
- javascript - 在反应中动态重新定位弹出框时防止闪烁
- amazon-web-services - 角色策略中参数的 Cloudformation 条件
- python - 如何提高 matplotlib 中绘图的质量?
- python-3.x - 有没有办法检测给定的图像是否包含标记的部分?
- compiler-errors - 为什么 OCaml 具有强制不同的 float 和 int 字面量语法?
- python - 我应该如何使循环/任务开始?
- javascript - 使用 lodash 在 javascript 中比较两个深度嵌套的数组
- c# - GeoCoordinateWatcher 的问题 - 一个应用程序的 GeoPositionPermission 被拒绝,但另一个应用程序被授予
- exception - IAR 编译器链接器错误 [Li009]:_CPP_Exceptions 必须被禁用,但模块的值为“已使用”
- python - 检查字典值字典中列表中的值是否并返回索引