Реализация json marshaller над встроенной структурой в Go
У меня есть структура, которую я хотел бы эффективно кодировать JSON:
type MyStruct struct {
*Meta
Contents []interface{}
}
type Meta struct {
Id int
}
Структура содержит метаданные известной формы и содержимое неизвестной формы. Список содержимого заполняется во время выполнения, поэтому я неЯ действительно не могу их контролировать. Чтобы улучшить Go 'С точки зрения скорости, я хотел бы реализовать интерфейс Marshaller поверх структуры Meta. Интерфейс Marshaller выглядит следующим образом:
type Marshaler interface {
MarshalJSON() ([]byte, error)
}
Пожалуйста, имейте в виду, что структура Meta не так проста, как показано здесь. Я'Мы пытались реализовать интерфейс Marshaler через структуру Meta, но, похоже, когда я затем выполняю JSON-маршал MyStruct, результатом является только результат, возвращаемый интерфейсом Meta-marshalling.
Итак, мой вопрос: как я могу JSON маршалировать структуру, которая содержит встроенную структуру en со своим собственным маршаллером JSON и другую структуру без таковой?