如何在Golang中的嵌套JSON对象中解析嵌套数组?
问题描述:
I have a JSON:
{
"data": [
{
"id": 1,
"values": [
[
{
"id": "11",
"keys": [
{
"id": "111"
}
]
}
]
]
}
]
}
I want to parse "values" and "keys" into structs, but I don't known what type should i use in "Data"?:
type Value struct {
Id string `json:"id"`
Keys []Key `json:"keys"`
}
type Key struct {
Id string `json:"id"`
}
type Result struct {
Data []Data `json:"data"`
}
type Data struct {
Id int `json:"id"`
Values []???? `json:"values"`
}
I would be grateful for any help. Thanks.
我有一个JSON: p>
{
“数据 “:[
{
” id“:1,
” values“:[
{
{
” id“:” 11“,
” keys“:[
{
” id“:” 111“
}
]
}
]
]
}
]
}
code> pre>
我想 将“值”和“键”解析为结构,但是我不知道我应该在“数据”中使用哪种类型? p>
type Value struct {
ID字符串 `json:“ id”`
键[]键`json:“ keys”`
}
type键结构{
ID字符串`json:“ id”`
}
type结果结构{
数据 [] Data`json:“ data”`
}
type数据结构{
ID int`json:“ id”`
值[] ???? json:“ values”`
}
code> pre>
我将不胜感激。 谢谢。 p>
div>
答
If you look carefully at your json. you have an array in an array...
...
"values": [
[...
If this is intended then the type of values is:
[][]Value
to represent the two arrays, else remove the array nesting and it becomes:
[]Value
Runnable Example: https://play.golang.org/p/UUqQR1KSwB
答
type Basic struct {
ID string `json:"id"`
}
type Inner struct {
ID string `json:"id"`
Keys []Basic `json:"keys"`
}
type Middle struct {
ID int `json:"id"`
Values []Inner `json:"values"`
}
type Final struct {
Data []Middle `json:"data"`
}