英文:
Unmarshaling JSON into Struct
问题
我正在尝试将以下JSON字符串解组成下面的结构体:
{
"io.confluent.connect.avro.ConnectDefault":{
"lastModifiedAt":{
"string":"2022-09-01T02:22:19+00:00"
},
"taxRateId":{
"int":5
},
"basedOn":{
"string":"Markup"
},
"priceTax":{
"double":2.04
},
"price":{
"int":24
},
"status":{
"string":"active"
},
"costPrice":{
"int":24
},
"createdAt":{
"string":"2022-09-01T02:22:19+00:00"
},
"productId":{
"int":3545
},
"ownershipId":{
"int":1
},
"dbId":{
"int":3655
},
"markupPercentage":{
"int":0
}
}
}
type Wrapper struct {
Message `json:"io.confluent.connect.avro.ConnectDefault"`
}
type Message struct {
DbId Field `json:"dbId"`
}
type Field struct {
Value map[string]interface{}
}
但是对于Field
映射,它给我返回了一个空值。不确定我在这里做错了什么。
英文:
I am trying to Unmarshal the following JSON string into the struct below;
{
"io.confluent.connect.avro.ConnectDefault":{
"lastModifiedAt":{
"string":"2022-09-01T02:22:19+00:00"
},
"taxRateId":{
"int":5
},
"basedOn":{
"string":"Markup"
},
"priceTax":{
"double":2.04
},
"price":{
"int":24
},
"status":{
"string":"active"
},
"costPrice":{
"int":24
},
"createdAt":{
"string":"2022-09-01T02:22:19+00:00"
},
"productId":{
"int":3545
},
"ownershipId":{
"int":1
},
"dbId":{
"int":3655
},
"markupPercentage":{
"int":0
}
}
}
type Wrapper struct {
Message `json:"io.confluent.connect.avro.ConnectDefault"`
}
type Message struct {
DbId Field `json:"dbId"`
}
type Field struct {
Value map[string]interface{}
}
But it gives me an empty value for the Field
map. Not sure what I am doing wrong here.
答案1
得分: 4
这是因为你有额外的嵌套层级:
type Message struct {
DbId map[string]interface{} `json:"dbId"`
}
dbId
属性的值是一个将字符串映射到任意类型的 map
。
英文:
It's because you have extra level of nesting:
type Message struct {
DbId map[string]interface{} `json:"dbId"`
}
dbId
property's value is a map
of string
s to anything.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论