Wdrożenie json marshaller w wbudowanym stoku w Go

Mam strukturę, którą chciałbym wydajnie kodować JSON:

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

type Meta struct {
    Id int
}

Struktura zawiera metadane o znanej formie i zawartość nieznanej formy. Lista zawartości jest wypełniana w czasie wykonywania, więc nie mam nad nimi kontroli. Aby ulepszyć szybkość zestawiania Go, chciałbym zaimplementować interfejs Marshallera w strukturze Meta. Interfejs Marshallera wygląda tak:

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

Pamiętaj, że struktura Meta nie jest tak prosta, jak tutaj. Próbowałem zaimplementować interfejs Marshaler nad strukturą Meta, ale wydaje się, że gdy ja następnie JSON marshal MyStruct, wynikiem jest tylko wynik zwrócony przez interfejs marshalling Meta.

Więc moje pytanie brzmi: W jaki sposób mogę JSON Marshal struktury, która zawiera en embedded struct z własnym marshaller JSON i innej struktury bez jednej?

questionAnswers(1)

yourAnswerToTheQuestion