marshal_indent_test.go 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. package test
  2. import (
  3. "encoding/json"
  4. "github.com/json-iterator/go"
  5. "github.com/stretchr/testify/require"
  6. "testing"
  7. )
  8. func Test_marshal_indent(t *testing.T) {
  9. should := require.New(t)
  10. obj := struct {
  11. F1 int
  12. F2 []int
  13. }{1, []int{2, 3, 4}}
  14. output, err := json.MarshalIndent(obj, "", " ")
  15. should.Nil(err)
  16. should.Equal("{\n \"F1\": 1,\n \"F2\": [\n 2,\n 3,\n 4\n ]\n}", string(output))
  17. output, err = jsoniter.MarshalIndent(obj, "", " ")
  18. should.Nil(err)
  19. should.Equal("{\n \"F1\": 1,\n \"F2\": [\n 2,\n 3,\n 4\n ]\n}", string(output))
  20. }
  21. func Test_marshal_indent_map(t *testing.T) {
  22. should := require.New(t)
  23. obj := map[int]int{1: 2}
  24. output, err := json.MarshalIndent(obj, "", " ")
  25. should.Nil(err)
  26. should.Equal("{\n \"1\": 2\n}", string(output))
  27. output, err = jsoniter.MarshalIndent(obj, "", " ")
  28. should.Nil(err)
  29. should.Equal("{\n \"1\": 2\n}", string(output))
  30. output, err = jsoniter.ConfigCompatibleWithStandardLibrary.MarshalIndent(obj, "", " ")
  31. should.Nil(err)
  32. should.Equal("{\n \"1\": 2\n}", string(output))
  33. }