我正在Golang中解析JSON文件,方法是制作一个嵌套结构,并能够成功完成。但是,现在我希望使用相同结构的变量,但是出现以下错误cannot use []Specs literal (type []Specs) as type []Specs in field value
。有人可以在这里指出我的错误吗?我在做什么错了?
这是嵌套结构:
type Config struct {
OrdererOrgs []OrdererOrgs `json:"OrdererOrgs"`
PeerOrgs []PeerOrgs `json:"PeerOrgs"`
}
type OrdererOrgs struct {
Name string `json:"name"`
Domain string `json:"Domain"`
Specs []Specs `json:"Specs"`
}
type Specs struct {
Hostname string `json:"Hostname"`
Commonname string `json:"Commonname"`
}
type PeerOrgs struct {
Name string `json:"name"`
Domain string `json:"Domain"`
Template Template `json:"Template"`
Users Users `json:"Users"`
}
type Template struct {
Count int `json:"Count"`
Start int `json:"Start"`
}
type Users struct {
Count int `json:"Count"`
}
这是我的变量:
newconfig:= Config{
OrdererOrgs: []OrdererOrgs{
OrdererOrgs{
Name: "Orderer1",
Domain : "Domain",
Specs: []Specs{
Specs{
Hostname: "H",
Commonname: "C",
},
Specs{
Hostname: "H",
Commonname: "C",
},
},
},
OrdererOrgs{
Name: "Orderer2",
Domain : "Domain2",
Specs: []Specs{
Specs{
Hostname: "H",
Commonname: "C",
},
},
},
},
PeerOrgs: []PeerOrgs{
PeerOrgs{
Name: "Org1",
Domain: "D",
Template: Template{
Count: 1,
Start: 0,
},
Users: Users{
Count: 1,
},
},
PeerOrgs{
Name: "Org2",
Domain: "D2",
Template: Template{
Count: 1,
Start: 0,
},
Users: Users{
Count: 1,
},
},
},
}
答案 0 :(得分:0)
欢迎使用StackOverflow!正如沃尔克在评论中所说,您的代码似乎正在运行。您确定您现在看到问题了吗?您可以运行Volker提供的游乐场链接吗?
通常,这可以通过composite literals feature在Go中进行;该链接提供了几个有用的示例,并讨论了一些您可能会感兴趣的语义。如果某些方法无法正常工作,建议您逐步构建更复杂的结构,直到您了解问题出在哪里,直到达到应用程序所需的嵌套级别为止。