如何在结构内部解组多维数组

I have following data:-

{"me":[{"id": "0xcfd","Title":"Story of Stackoverflow","Users":[{"id":"1","Name":"MetaBoss"},{"id":"2","Name":"Owner"}],"Tag":"golang,programming"}]}

and I have the following struct:-

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"`
}

To unmarshal the data, I am trying to do following things -

type Unmarh struct {
    Me []Root `json:"me"`
}

var r Unmarh
err = json.Unmarshal(response, &r)

while printing r.Me[0].Myuser, I am not able to get data.

I am getting below error -

json: cannot unmarshal array into go struct field Root.Myuser of type User struct {....Users struct data}

It needs Myuser to be multidimensional array type and not Users struct. I have no Idea, how to represent Users multidimensional array inside struct

donpvtzuux37724
donpvtzuux37724 您可以将其发布为答案吗,我会将其标记为已解决。
2 年多之前 回复
doubiaokai4998
doubiaokai4998 请参阅我的第二条评论中的示例,它可以正常工作并且在客观上更有意义。
2 年多之前 回复
duanjia3187
duanjia3187 在json中,密钥是Users,但是您将其称为Myuser,然后有一个类型的Users代表一个用户...这很令人困惑。
2 年多之前 回复
dqyz48470
dqyz48470 -更好的名字?
2 年多之前 回复
dongsiju1941
dongsiju1941 play.golang.org/p/azE7kPFs02V
2 年多之前 回复
du1843
du1843 做Myuser[]用户,也许选择更好的名字。
2 年多之前 回复
dongzhi8984
dongzhi8984 但是它需要Users为数组而不是Users结构。我不知道如何在struct中提供多维数组
2 年多之前 回复
dousidan1279
dousidan1279 所以,也是Root结构,Users是Users结构
2 年多之前 回复
douli2063
douli2063 用户ist嵌套。使用mholt.github.io/json-to-go生成合适的Go结构。
2 年多之前 回复

1个回答



在json中, Users </ code>键是一个数组,因此对应的Go字段应该是一个切片。 / p>

  type根结构{
ID字符串json:“ id,omitempty”
标题字符串json:“ Title,omitempty”
Users [] User [ json:“ Users,omitempty”
标记字符串
json:“ Tag,omitempty”`
}
</ code> </ pre>

https://play.golang.org/p/azE7kPFs02V </ p>
</ div>

展开原文

原文

In the json the Users key is an array and so the corresponding Go field should be a slice.

type Root struct {
    ID    string `json:"id,omitempty"`
    Title string `json:"Title,omitempty"`
    Users []User `json:"Users,omitempty"`
    Tag   string `json:"Tag,omitempty"`
}

https://play.golang.org/p/azE7kPFs02V

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐