go中json序列化后的匿名结构
我想为输出json实现这样的格式go中json序列化后的匿名结构,json,go,Json,Go,我想为输出json实现这样的格式 { "2019-07-22": { "something": { "type": "ENTRY", "id": 1766617, }, "something2": { "type": "ENTRY", "id": 1766617, }, }, "2019-07-23": {
{
"2019-07-22": {
"something": {
"type": "ENTRY",
"id": 1766617,
},
"something2": {
"type": "ENTRY",
"id": 1766617,
},
},
"2019-07-23": {
"something": {
"type": "ENTRY",
"id": 1766618,
},
"something2": {
"type": "ENTRY",
"id": 1766620,
},
},
}
到目前为止,我已将这些数据拆分为3个结构:
类型响应结构{
天映射[字符串]天
}
类型日结构{
条目映射[字符串]条目
}
类型入口结构{
类型字符串`json:type`
Id int`json:Id`
}
序列化为json后,我得到了带有字段名和嵌套json对象的结构,这是错误的:
{
"Days": {
"2019-07-22": {
"Entries": {
"something": {
"type": "ENTRY",
"id": 1766617
},
"something2": {
"type": "ENTRY",
"id": 1766617
}
}
}
}
}
是否有可能跳过响应:天和天:条目字段中的字段名?我不会将json反序列化为结构,所以唯一的问题是序列化。由于BC中断,我无法更改json结构。要实现所需的json,您的响应类型应该是映射的映射
type Response map[string]map[string]Entry
type Entry struct {
Type string `json:"type"`
Id int `json:"id"`
}
JSON使用键作为属性名,而不是属性值。您预期的json流可能引用类似Day json:2019-07-22的结构。正如你们所看到的,它读起来好吗?它会工作的,但我必须根据数据库中的数据更改这些日期