main.go 561 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package main
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "log"
  6. jsonx "github.com/segmentio/encoding/json"
  7. )
  8. type A struct {
  9. AA string `json:"aa,omitempty"`
  10. }
  11. type B struct {
  12. *A
  13. BB string `json:"bb,omitempty"`
  14. }
  15. func main() {
  16. var b B
  17. b.BB = "b"
  18. b.A = new(A)
  19. b.A.AA = ""
  20. fmt.Println("github.com/segmentio/encoding/json")
  21. data, err := jsonx.Marshal(b)
  22. if err != nil {
  23. log.Fatal(err)
  24. }
  25. fmt.Println(string(data))
  26. fmt.Println()
  27. fmt.Println("encoding/json")
  28. data, err = json.Marshal(b)
  29. if err != nil {
  30. log.Fatal(err)
  31. }
  32. fmt.Println(string(data))
  33. }