1
0
mirror of https://github.com/json-iterator/go.git synced 2024-11-27 08:30:57 +02:00
This commit is contained in:
allen 2020-01-14 14:14:02 +08:00
parent acfec88f7a
commit 3987001e27
2 changed files with 5 additions and 2 deletions

View File

@ -183,11 +183,11 @@ func (cfg *frozenConfig) validateJsonRawMessage(extension EncoderExtension) {
encoder := &funcEncoder{func(ptr unsafe.Pointer, stream *Stream) {
rawMessage := *(*json.RawMessage)(ptr)
iter := cfg.BorrowIterator([]byte(rawMessage))
defer cfg.ReturnIterator(iter)
iter.Read()
if iter.Error != nil {
if iter.Error != nil && iter.Error != io.EOF {
stream.WriteRaw("null")
} else {
cfg.ReturnIterator(iter)
stream.WriteRaw(string(rawMessage))
}
}, func(ptr unsafe.Pointer) bool {

View File

@ -7,6 +7,9 @@ import (
func init() {
marshalCases = append(marshalCases,
json.RawMessage("{}"),
json.RawMessage("12345"),
json.RawMessage("3.14"),
json.RawMessage("-0.5e10"),
struct {
Env string `json:"env"`
Extra json.RawMessage `json:"extra,omitempty"`