summaryrefslogtreecommitdiff
path: root/vendor/github.com/bytedance/sonic/internal/encoder/primitives.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/bytedance/sonic/internal/encoder/primitives.go')
-rw-r--r--vendor/github.com/bytedance/sonic/internal/encoder/primitives.go8
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
+}