gpt4 book ai didi

go - 使用 golang 生成嵌套的 JSON

转载 作者:数据小太阳 更新时间:2023-10-29 03:41:45 24 4
gpt4 key购买 nike

那么我在这里做错了什么,我并没有真正理解如何生成嵌套的 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 一样,但我保留链接是为了采取更好的措施。

如果这不是您想要的,请查看解释 json with go 如何工作的许多其他问题,或使用 gobyexample ,或 docs .

关于go - 使用 golang 生成嵌套的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56429072/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com