Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
go中json序列化后的匿名结构_Json_Go - Fatal编程技术网

go中json序列化后的匿名结构

go中json序列化后的匿名结构,json,go,Json,Go,我想为输出json实现这样的格式 { "2019-07-22": { "something": { "type": "ENTRY", "id": 1766617, }, "something2": { "type": "ENTRY", "id": 1766617, }, }, "2019-07-23": {

我想为输出json实现这样的格式

{
    "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的结构。正如你们所看到的,它读起来好吗?它会工作的,但我必须根据数据库中的数据更改这些日期