将结构转换为json数组而不是json对象
如果这个问题被认为太简单或其他什么,我会提前道歉;这是我第一次用围棋写东西。对于这个问题,我简化了两个结构将结构转换为json数组而不是json对象,json,go,Json,Go,如果这个问题被认为太简单或其他什么,我会提前道歉;这是我第一次用围棋写东西。对于这个问题,我简化了两个结构 type A struct { Content string } type B struct { Element A `json:"0"` Children []B `json:"1"` } 我想将类型B的值编码为JSON,但它应该返回一个JSON数组,而不是返回一个对象 例如: 我得到的是: [ { "0":{
type A struct {
Content string
}
type B struct {
Element A `json:"0"`
Children []B `json:"1"`
}
我想将类型B的值编码为JSON,但它应该返回一个JSON数组,而不是返回一个对象
例如:
我得到的是:
[
{
"0":{
"Content":"AAA"
},
"1":[
{
"0":{
"Content":"BBB"
},
"1":[
{
"0":{
"Content":"CCC"
},
"1":[]
},
{
"0":{
"Content":"DDD"
},
"1":[]
}
}
]
]
}
]
我需要的是:
[
{"Content": "AAA"},
[
[
{"Content": "BBB"},
[
{"Content": "CCC"},
[]
]
],
[
{"Content": "DDD"},
[]
]
]
]
我可以通过手动迭代来实现这一点,但我希望有一种集成的方法来实现这一点我认为您需要一个接口片来将a和B结构封装到一个片中
请看一下我在这里的代码片段您可以通过在B中实现接口来实现 例如: 结果:
[
{
"Content": "AAA"
},
[
[
{
"Content": "BBB"
},
[
[
{
"Content": "CCC"
},
[]
],
[
{
"Content": "DDD"
},
[]
]
]
]
]
]
请使用换行符和缩进设置JSON字符串的格式。目前它还不可读,很难理解其中的区别。没有。Go结构等同于JSON对象,而不是JSON数组。您可以使用自定义解组器自己完成。
[
{
"Content": "AAA"
},
[
[
{
"Content": "BBB"
},
[
[
{
"Content": "CCC"
},
[]
],
[
{
"Content": "DDD"
},
[]
]
]
]
]
]