diff options
Diffstat (limited to 'vendor/github.com/bytedance/sonic/internal/encoder/primitives.go')
-rw-r--r-- | vendor/github.com/bytedance/sonic/internal/encoder/primitives.go | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/vendor/github.com/bytedance/sonic/internal/encoder/primitives.go b/vendor/github.com/bytedance/sonic/internal/encoder/primitives.go index 78fb29ff6..0e47987c7 100644 --- a/vendor/github.com/bytedance/sonic/internal/encoder/primitives.go +++ b/vendor/github.com/bytedance/sonic/internal/encoder/primitives.go @@ -93,8 +93,10 @@ func encodeJsonMarshaler(buf *[]byte, val json.Marshaler, opt Options) error { if opt & CompactMarshaler != 0 { return compact(buf, ret) } - if ok, s := Valid(ret); !ok { - return error_marshaler(ret, s) + if opt & NoValidateJSONMarshaler == 0 { + if ok, s := Valid(ret); !ok { + return error_marshaler(ret, s) + } } *buf = append(*buf, ret...) return nil @@ -165,4 +167,4 @@ func asJson(v unsafe.Pointer) (string, error) { text := assertI2I(_T_json_Marshaler, *(*rt.GoIface)(v)) r, e := (*(*json.Marshaler)(unsafe.Pointer(&text))).MarshalJSON() return rt.Mem2Str(r), e -}
\ No newline at end of file +} |