Untitled
unknown
plain_text
2 years ago
607 B
6
Indexable
package main import ( "encoding/json" "fmt" ) type MyStruct struct { A string `json:"A,omitempty"` B *string `json:"B"` } func (s *MyStruct) MarshalJSON() ([]byte, error) { if s.A == "" { s.B = nil // Si A se omite, también omite B } type Alias MyStruct return json.Marshal(&struct { *Alias }{Alias: (*Alias)(s)}) } func main() { myData := MyStruct{ A: "ValorA", B: stringPointer("ValorB"), } jsonData, _ := json.Marshal(myData) fmt.Println(string(jsonData)) } func stringPointer(s string) *string { return &s }
Editor is loading...