json - 如果具有相同的对象,则在 Golang 中初始化嵌套结构定义

标签 json go struct

我有这样的结构:

type AutoGenerated struct {
 Accounting []struct {
    FirstName string `json:"firstName"`
    LastName string `json:"lastName"`
    Age int `json:"age"`
} `json:"accounting"`
Sales []struct {
    FirstName string `json:"firstName"`
    LastName string `json:"lastName"`
    Age int `json:"age"`
} `json:"sales"`

}

我想像这样给它赋值:-

data := AutoGenerated{}
data.Accounting.LastName = "Apple2"
data.Accounting.FirstName = "Apple1"
data.Accounting.Age = 20
data.Sales.LastName = "Ball2"
data.Sales.FirstName = "Ball1"
data.Sales.Age = 30

但是正在给出错误,即 data.Accounting.LastName undefined

尽管相同的代码可以正常工作

type AutoGenerated struct {
    FirstName string `json:"firstName"`
    LastName string `json:"lastName"`
    Age int `json:"age"`
}

我在这里分配的值是这样的:-

data := AutoGenerated{}
data.LastName = "Apple2"
data.FirstName = "Apple1"
data.Age = 20

请不要手动赋值,我必须从其他函数中获取值。

最佳答案

你的内部结构是 slice 。要么使用这个:

type AutoGenerated struct {
 Accounting struct {
    FirstName string `json:"firstName"`
    LastName string `json:"lastName"`
    Age int `json:"age"`
} `json:"accounting"`
Sales struct {
    FirstName string `json:"firstName"`
    LastName string `json:"lastName"`
    Age int `json:"age"`
} `json:"sales"`

或者如果您需要每个结构有多个 Sale 或 Accounting,那么您必须初始化 slice 并通过索引引用它们。

关于json - 如果具有相同的对象,则在 Golang 中初始化嵌套结构定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38501646/

相关文章:

javascript - 如何从由DiagramBuilder.toJSON()返回的JSON创建AlloyUIDiagramBuilder?

c++ - 如何打印结构的每个成员

c - 使用 getaddrinfo() 指向导致段错误的结构的指针

json - Go - 奇怪的 json 连字符解码错误

javascript - 如何在nodeJS和knexJS中重复数组长度的id

javascript - jQuery、ajax 和 jsonp 的问题

html - 使用动态图像在 Go 中生成 PDF

go - Handlebars 内的 Hugo 语法文档?

xml - 使用 XSD 过滤 anyURI 类型的 XML 元素

c - 将结构中的位置分配给变量(或指针)