当前位置: > > > > 使用 golang 生成嵌套 JSON
来源:stackoverflow
2024-04-26 09:42:34
0浏览
收藏
编程并不是一个机械性的工作,而是需要有思考,有创新的工作,语法是固定的,但解决问题的思路则是依靠人的思维,这就需要我们坚持学习和更新自己的知识。今天就整理分享《使用 golang 生成嵌套 JSON》,文章讲解的知识点主要包括,如果你对Golang方面的知识点感兴趣,就不要错过,在这可以对大家的知识积累有所帮助,助力开发能力的提升。
问题内容
那么我在这里做错了什么,我并没有真正理解如何生成嵌套的 json 结构:
我收到“复合文字中缺少类型”异常。 https://play.golang.org/p/pa1fpbqhbb0
package main import "fmt" type FamilyRequestBody struct { Family string `json:"family"` } type DataRequestBody struct { Family FamilyRequestBody `json:"family"` } type EventRequestBody struct { Account string `json:"account"` Player string `json:"player"` Count int `json:"count"` } type TeamRequestBody struct { Account string `json:"account"` Team string `json:"team"` } type PlayerRequestBody struct { Account string `json:"account"` Team string `json:"team"` Player string `json:"player"` Data DataRequestBody `json:"data"` } func main() { l := PlayerRequestBody{ Account: "my-account", Team: "12345", Player: "23424234", Data: {Family: "12345"}, } fmt.Printf("%#v\n", l) }
解决方案
它非常简单,您是这样定义的:
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一样,但我留下了良好措施的链接。
如果这不是您想要的,请查看许多其他问题来解释 go 中的 json 如何工作,或者使用 或 。
理论要掌握,实操不能落!以上关于《使用 golang 生成嵌套 JSON》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注公众号吧!