当前位置: > > > > 使用 golang 生成嵌套 JSON
使用 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》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注米云公众号吧!
