Implementando json marshaller sobre stuct incorporado em Go

Eu tenho uma estrutura que gostaria de codificar JSON de forma eficiente:

type MyStruct struct {
    *Meta
    Contents []interface{}
}

type Meta struct {
    Id int
}

A estrutura contém metadados de um formulário conhecido e o conteúdo de um formulário desconhecido. A lista de conteúdo é preenchida durante o tempo de execução, portanto, eu realmente não tenho controle sobre eles. Para melhorar a velocidade de empacotamento do Go, gostaria de implementar a interface Marshaller sobre a estrutura Meta. A interface do Marshaller se parece com isso:

type Marshaler interface {
        MarshalJSON() ([]byte, error)
}

Por favor, tenha em mente que a Meta struct não é tão simples como mostrada aqui. Eu tentei implementar a interface Marshaler sobre a estrutura Meta, mas parece que quando eu, em seguida, JSON empacotar MyStruct, o resultado é apenas o resultado retornado pela interface Meta marshalling.

Então, minha pergunta é: Como posso JSON empacotar uma estrutura, que contém uma estrutura embutida com seu próprio marshaller JSON e outra struct sem uma?

questionAnswers(1)

yourAnswerToTheQuestion