我正在尝试查看是否有一种方法(简单方法)可以使用encoding/jsonGO 向 JSON 中的每个数组添加标头。
我的意思是说?
想要有这样的东西:
{
"Dog":[
{
"breed":"Chihuahua",
"color":"brown"
},
{
"breed":"Pug",
"color":"white"
}
],
"Cat":[
{
"breed":"British",
"color":"white"
},
"breed":"Ragdoll",
"color":"gray"
}
]
}
主要思想是在这种情况下有一个“类别”Dog和Cat。
我已经有了这个解决方案,但我正在寻找可以改进它的东西。
我的代码如下所示:
type Dog struct {
Breed string
Color string
}
type Cat struct {
Breed string
Color string
}
func main(){
dogs := [...]Dog{
{"Chihuahua", "brown"},
{"Pug", "white"},
}
cats := [...]Cat{
{"British", "white"},
{"Ragdoll", "gray"},
}
c, err := json.MarshalIndent(cats, "", "\t")
if err != nil {
log.Fatal(err)
}
d, err := json.MarshalIndent(dogs, "", "\t")
if err != nil {
log.Fatal(err)
}
fmt.Println("{")
fmt.Printf(" \"Dog\": %v,\n", string(d))
fmt.Printf(" \"Cat\": %v\n}", string(c))
}
主要想法是将“狗”和“猫”作为新数组,但我想改进我的代码,不要让它看起来像应该的那样“硬编码”,我想知道是否有一种简单的方法添加标题“Dog”和所有数组值,添加标题“Cat”和所有数组值。
慕标琳琳
相关分类