You've already forked json-iterator
							
							
				mirror of
				https://github.com/json-iterator/go.git
				synced 2025-10-31 00:07:40 +02:00 
			
		
		
		
	Fixes #405 - Encode nil map into null
This commit is contained in:
		| @@ -42,3 +42,11 @@ func Test_map_eface_of_eface(t *testing.T) { | ||||
| 	should.NoError(err) | ||||
| 	should.Equal(`{"1":2,"3":"4"}`, output) | ||||
| } | ||||
|  | ||||
| func Test_encode_nil_map(t *testing.T) { | ||||
| 	should := require.New(t) | ||||
| 	var nilMap map[string]string | ||||
| 	output, err := jsoniter.MarshalToString(nilMap) | ||||
| 	should.NoError(err) | ||||
| 	should.Equal(`null`, output) | ||||
| } | ||||
|   | ||||
| @@ -249,6 +249,10 @@ type mapEncoder struct { | ||||
| } | ||||
|  | ||||
| func (encoder *mapEncoder) Encode(ptr unsafe.Pointer, stream *Stream) { | ||||
| 	if *(*unsafe.Pointer)(ptr) == nil { | ||||
| 		stream.WriteNil() | ||||
| 		return | ||||
| 	} | ||||
| 	stream.WriteObjectStart() | ||||
| 	iter := encoder.mapType.UnsafeIterate(ptr) | ||||
| 	for i := 0; iter.HasNext(); i++ { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user