You've already forked json-iterator
mirror of
https://github.com/json-iterator/go.git
synced 2025-06-24 23:16:47 +02:00
#56 nil map or array should be null not [] or {}
This commit is contained in:
@ -4,6 +4,7 @@ import (
|
||||
"bytes"
|
||||
"github.com/json-iterator/go/require"
|
||||
"testing"
|
||||
"encoding/json"
|
||||
)
|
||||
|
||||
func Test_read_null(t *testing.T) {
|
||||
@ -87,3 +88,39 @@ func Test_decode_null_skip(t *testing.T) {
|
||||
t.FailNow()
|
||||
}
|
||||
}
|
||||
|
||||
func Test_encode_nil_map(t *testing.T) {
|
||||
should := require.New(t)
|
||||
type Ttest map[string]string
|
||||
var obj1 Ttest
|
||||
output, err := json.Marshal(obj1)
|
||||
should.Nil(err)
|
||||
should.Equal("null", string(output))
|
||||
output, err = json.Marshal(&obj1)
|
||||
should.Nil(err)
|
||||
should.Equal("null", string(output))
|
||||
output, err = Marshal(obj1)
|
||||
should.Nil(err)
|
||||
should.Equal("null", string(output))
|
||||
output, err = Marshal(&obj1)
|
||||
should.Nil(err)
|
||||
should.Equal("null", string(output))
|
||||
}
|
||||
|
||||
func Test_encode_nil_array(t *testing.T) {
|
||||
should := require.New(t)
|
||||
type Ttest []string
|
||||
var obj1 Ttest
|
||||
output, err := json.Marshal(obj1)
|
||||
should.Nil(err)
|
||||
should.Equal("null", string(output))
|
||||
output, err = json.Marshal(&obj1)
|
||||
should.Nil(err)
|
||||
should.Equal("null", string(output))
|
||||
output, err = Marshal(obj1)
|
||||
should.Nil(err)
|
||||
should.Equal("null", string(output))
|
||||
output, err = Marshal(&obj1)
|
||||
should.Nil(err)
|
||||
should.Equal("null", string(output))
|
||||
}
|
||||
|
Reference in New Issue
Block a user