У меня есть такая структура:
type Result struct {
Data MyStruct `json:"data,omitempty"`
Status string `json:"status,omitempty"`
Reason string `json:"reason,omitempty"`
}
Но даже если экземпляр MyStruct полностью пуст (что означает, что все значения по умолчанию), он сериализуется как:
"data":{}
Я знаю, что encoding/json docs указывают, что "пустые" поля:
false, 0, любое значение nil или значение интерфейса и любой массив, срез, карта или строка нулевой длины
но без учета структуры со всеми пустыми/значениями по умолчанию. Все его поля также помечены omitempty
, но это не влияет.
Как я могу заставить пакет JSON не маршалировать мое поле, которое является пустой структурой?