go中json序列化后的Anonymus结构

我想实现这样的输出 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 个结构:


type Response struct {

    Days map[string]Day

}


type Day struct {

    Entries map[string]Entry

}


type Entry struct {

    type            string `json:"type"`

    Id              int    `json:"id"`

}

序列化为 json 后,我的结构包含字段名称和嵌套 json 对象,这是错误的:


{

    "Days": {

        "2019-07-22": {

            "Entries": {

                "something": {

                    "type": "ENTRY",

                    "id": 1766617

                },

                "something2": {

                    "type": "ENTRY",

                    "id": 1766617

                }

            }

        }

    }

}

是否可以跳过Response:Days和Day:Entries字段中的那些字段名称?我不会将 json 反序列化为结构,所以唯一的问题是序列化。由于 BC 破坏,我无法更改 json 结构。


RISEBY
浏览 95回答 1
1回答

温温酱

要实现您想要的 json,您的Response类型应该是地图的地图。type Response map[string]map[string]Entrytype Entry struct {    Type string `json:"type"`    Id   int    `json:"id"`}https://play.golang.com/p/4GBEZi_TS9m
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go