Ho una struttura come questa:
type Result struct {
Data MyStruct `json:"data,omitempty"`
Status string `json:"status,omitempty"`
Reason string `json:"reason,omitempty"`
}
Ma anche se l'istanza di MyStruct è completamente vuota (il che significa che tutti i valori sono predefiniti), viene serializzata come:
"data":{}
So che i documenti di codifica / json specificano che i campi "vuoti" sono:
false, 0, qualsiasi puntatore nullo o valore di interfaccia e qualsiasi array, slice, mappa o stringa di lunghezza zero
ma senza alcuna considerazione per una struttura con tutti i valori vuoti / predefiniti. Anche tutti i suoi campi sono contrassegnati con omitempty
, ma ciò non ha alcun effetto.
Come posso fare in modo che il pacchetto JSON non effettui il marshalling del mio campo che è una struttura vuota?