在 Go 中通过嵌入式结构实现 json marshaller

我有一个结构,我想有效地进行 JSON 编码:


type MyStruct struct {

    *Meta

    Contents []interface{}

}


type Meta struct {

    Id int

}

该结构包含已知形式的元数据和未知形式的内容,内容列表在运行时填充,因此我无法真正控制它们。为了提高 Go 的编组速度,我想在 Meta 结构上实现 Marshaller 接口。Marshaller 界面如下所示:


type Marshaler interface {

        MarshalJSON() ([]byte, error)

}

请记住,Meta 结构并不像这里显示的那么简单。我已经尝试通过 Meta 结构实现 Marshaler 接口,但似乎当我然后 JSON marshal MyStruct 时,结果只是 Meta marshalling 接口返回的结果。


所以我的问题是:我怎样才能 JSON 编组一个结构,它包含带有自己的 JSON 编组器的嵌入式结构和另一个没有的结构?


MMTTMM
浏览 184回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go