如何在golang中的嵌套结构上循环?
我有一个嵌套结构,我想在这个结构上循环。请帮助我如何循环结构以获得此格式的输出。我已经提到了我正在使用的结构 预期产出:如何在golang中的嵌套结构上循环?,go,Go,我有一个嵌套结构,我想在这个结构上循环。请帮助我如何循环结构以获得此格式的输出。我已经提到了我正在使用的结构 预期产出: { "PrefcatID":"PREF_001" "prefname: :"PREF_name" "PrefSubcategory": { "subcatid":"SUB_PREF_001", "PrefcatID":"PREF_001", "subcatname":"Sub
{
"PrefcatID":"PREF_001"
"prefname: :"PREF_name"
"PrefSubcategory":
{
"subcatid":"SUB_PREF_001",
"PrefcatID":"PREF_001",
"subcatname":"Sub Category Name 1"
},
{
"subcatid":"SUB_PREF_002",
"PrefcatID":"PREF_001",
"subcatname":"Sub Category Name 2"
}
}
Go中的结构:
type PrefCategory struct {
PrefcatID string `json:"PrefcatID"`
PrefName string `json:"prefname"`
Temp_PrefSubcategory []PrefSubcategory `json:"prefSubcategory "`
}
type PrefSubcategory struct {
PrefcatID string `json:"PrefcatID"`
SubcatId string `json:"subcatid"`
SubCatName string `json:"subcatname"`
}
您已经差不多做到了,但请注意,JSON示例中存在一些语法错误。结构也差不多了,最终,您只需使用预期值和以下值构建PrefCategory的实例:
输出是JSON吗?编码/JSON.Marshal有什么问题吗?是的,输出是JSON@zolather,没有理由循环。就用吧。文档中的示例完全符合您的要求。您没有包含任何带有for循环的代码。我们能为您做些什么?
type PrefCategory struct {
PrefcatID string `json:"PrefcatID"`
PrefName string `json:"prefname"`
Temp_PrefSubcategory []PrefSubcategory `json:"prefSubcategory"`
}
type PrefSubcategory struct {
PrefcatID string `json:"PrefcatID"`
SubcatId string `json:"subcatid"`
SubCatName string `json:"subcatname"`
}
func main() {
pref := PrefCategory{
"PREF_001",
"PREF_name",
[]PrefSubcategory{
{"SUB_PREF_001", "PREF_001", "Subcategory Name 1"},
{"SUB_PREF_002", "PREF_001", "Subcategory Name 2"},
},
}
jsonbytes, err := json.MarshalIndent(&pref, "", " ")
if err != nil {
panic(err)
}
fmt.Println(string(jsonbytes))
/*
{
"PrefcatID": "PREF_001",
"prefname": "PREF_name",
"prefSubcategory": [
{
"PrefcatID": "SUB_PREF_001",
"subcatid": "PREF_001",
"subcatname": "Subcategory Name 1"
},
{
"PrefcatID": "SUB_PREF_002",
"subcatid": "PREF_001",
"subcatname": "Subcategory Name 2"
}
]
}
*/
}