使用golang生成嵌套JSON
所以我在这里做错了什么,我不知道如何生成嵌套JSON结构: 我得到“复合文字中缺少类型”异常。使用golang生成嵌套JSON,go,Go,所以我在这里做错了什么,我不知道如何生成嵌套JSON结构: 我得到“复合文字中缺少类型”异常。 这很直截了当,你这样定义它: type PlayerRequestBody struct { Account string `json:"account"` Team string `json:"team"` Player string `json:"player"` Data DataRequest
这很直截了当,你这样定义它:
type PlayerRequestBody struct {
Account string `json:"account"`
Team string `json:"team"`
Player string `json:"player"`
Data DataRequestBody `json:"data"`
l := PlayerRequestBody{
Account: "my-account",
Team: "12345",
Player: "23424234",
Data: DataRequestBody{FamilyRequestBody{Family:"hello"}},
}
但我想让它这样使用它:
type PlayerRequestBody struct {
Account string `json:"account"`
Team string `json:"team"`
Player string `json:"player"`
Data FamilyRequestBody`json:"family"`
l := PlayerRequestBody{
Account: "my-account",
Team: "12345",
Player: "23424234",
Data: {Family:"hello"}},
}
您的字段Data
来自类型DataRequestBody
,与您的结构中定义的类似,您不能将另一个结构放在那里。在golang没有继承权,这可能也不是你想要的
我同意OP的问题与JSON无关,就像评论中提到的Flimzy一样,但我留下了链接,以便更好地衡量
如果这不是您想要的,请查看许多其他问题,解释json与go的工作原理或使用,或者。问题的可能重复(因此答案)与json无关,因此建议OP搜索其他json问题,并链接到json相关文档,这并不是最好的建议。你的答案本身并没有错,但并不完整。请显示您所指的完整定义。最好的做法是在
DataRequestBody
中使用一个命名字段。这就是我的进步,但我仍然不明白到底是怎么回事@Artur不在另一个结构中定义stuct,它不是惯用的。@sHartmann这只是为了说明,不会在最终代码中这样做
type PlayerRequestBody struct {
Account string `json:"account"`
Team string `json:"team"`
Player string `json:"player"`
Data FamilyRequestBody`json:"family"`
l := PlayerRequestBody{
Account: "my-account",
Team: "12345",
Player: "23424234",
Data: {Family:"hello"}},
}