嗨,我解组嵌套的JSON数组有问题。我应该创建什么结构?
我希望尽可能避免使用interface{}
,但我真的不知道在这种情况下是否可行。
Json我想要解组:
"[[[{\"aaa\": \"aaa\"}]]]"
和struct我想用来解组它:
type SomeStructNestedNested struct {
Aaa string `json:"aaa"`
}
type SomeStructNested struct {
SomeStructNestedNested []SomeStructNestedNested
}
type SomeStruct struct {
SomeStructNested []SomeStructNested
}
答案 0 :(得分:1)
这里的问题是,当他们实际上是数组时,您尝试使用结构来表示嵌套。我发现json本身的形式非常差,但如果你坚持使用它,那么你必须有一个3d数组用于unmarshal,只使用那个嵌套的嵌套'结构类型。下面是您的播放示例的链接,其中包含一些粗略的修改以证明这一点。
type SomeStructNestedNested struct {
Aaa string `json:"aaa"`
}
jsonString := "[[[{\"aaa\": \"aaa\"}]]]"
d := [][][]SomeStructNestedNested{}
json.Unmarshal([]byte(jsonString), &d)
fmt.Printf("%v", d)
答案 1 :(得分:0)