我不明白错误在哪里,因为在完成结构后,在我看来 undefined: Payload
这是一个非常烦人的结构,因为它有足够多的结构嵌套和结构 slice
你能帮我解决这个问题吗,因为我无法解决它?
https://play.golang.org/p/QewpCfTWY0l
package main
import (
"fmt"
)
type DialogFlowResponseSuggestion struct {
Payload struct {
Google struct {
ExpectUserResponse bool `json:"expectUserResponse"`
RichResponse struct {
Items []struct {
SimpleResponse struct {
TextToSpeech string `json:"textToSpeech"`
} `json:"simpleResponse"`
} `json:"items"`
Suggestions []struct {
Title string `json:"title"`
} `json:"suggestions"`
} `json:"richResponse"`
} `json:"google"`
} `json:"payload"`
}
func main() {
in := DialogFlowResponseSuggestion{
Payload: Payload{
Google: Google{
ExpectUserResponse: true,
RichResponse: RichResponse{
Items: []Items{
Items{SimpleResponse: SimpleResponse{dialog.MReturn.Message}},
},
Suggestions: []Suggestions{
Suggestions{Title: "Suggestion Chips"},
Suggestions{Title: "suggestion 1"},
Suggestions{Title: "suggestion 2"},
},
},
},
},
}
fmt.Println(in)
}
最佳答案
你的内部 struct
没有在任何地方声明——它们都是匿名类型。要按名称实际显式实例化它们,它们需要存在于某处 ( playground ):
package main
import (
"fmt"
)
type SimpleResponse struct {
TextToSpeech string `json:"textToSpeech"`
}
type Item struct {
SimpleResponse SimpleResponse `json:"simpleResponse"`
}
type Suggestion struct {
Title string `json:"title"`
}
type RichResponse struct {
Items []Item `json:"items"`
Suggestions []Suggestion `json:"suggestions"`
}
type Google struct {
ExpectUserResponse bool `json:"expectUserResponse"`
RichResponse RichResponse `json:"richResponse"`
}
type Payload struct {
Google Google `json:"google"`
}
type DialogFlowResponseSuggestion struct {
Payload Payload `json:"payload"`
}
func main() {
in := DialogFlowResponseSuggestion{
Payload: Payload{
Google: Google{
ExpectUserResponse: true,
RichResponse: RichResponse{
Items: []Item{
Item{SimpleResponse: SimpleResponse{dialog.MReturn.Message}},
},
Suggestions: []Suggestion{
Suggestion{Title: "Suggestion Chips"},
Suggestion{Title: "suggestion 1"},
Suggestion{Title: "suggestion 2"},
},
},
},
},
}
fmt.Println(in)
}
关于go - 具有许多嵌套的结构填充错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54698537/