From 0f10f2136a8059e2e5f597fbf5310e2cb7bc2282 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Muhammed=20Efe=20=C3=87etin?= Date: Sat, 12 Feb 2022 21:27:54 +0300 Subject: [PATCH] bump goccy/go-json to 0.9.4 --- internal/go-json/encoder/code.go | 7 ++++--- internal/go-json/encoder/encoder.go | 2 ++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/internal/go-json/encoder/code.go b/internal/go-json/encoder/code.go index 270c9ea427..224d7f24ec 100644 --- a/internal/go-json/encoder/code.go +++ b/internal/go-json/encoder/code.go @@ -436,12 +436,13 @@ func (c *StructCode) ToOpcode(ctx *compileContext) Opcodes { } if isEndField { endField := fieldCodes.Last() - if len(codes) > 0 { - codes.First().End = endField - } else if field.isAnonymous { + if field.isAnonymous { firstField.End = endField lastField := c.lastAnonymousFieldCode(firstField) lastField.NextField = endField + } + if len(codes) > 0 { + codes.First().End = endField } else { firstField.End = endField } diff --git a/internal/go-json/encoder/encoder.go b/internal/go-json/encoder/encoder.go index 495971caba..fde49d337d 100644 --- a/internal/go-json/encoder/encoder.go +++ b/internal/go-json/encoder/encoder.go @@ -589,6 +589,8 @@ func IsNilForMarshaler(v interface{}) bool { return rv.IsNil() case reflect.Slice: return rv.IsNil() || rv.Len() == 0 + case reflect.String: + return rv.Len() == 0 } return false }