previous code will add comma if the field is empty when is not first, like ``` {"account":"1120","name":"nick",,"department":"fsaf","role":1,"privilege":32,,"created_at":1489226500} ```
@@ -1058,12 +1058,12 @@ func (encoder *structEncoder) encode(ptr unsafe.Pointer, stream *Stream) {
stream.WriteObjectStart()
isNotFirst := false
for _, field := range encoder.fields {
- if isNotFirst {
- stream.WriteMore()
- }
if field.omitempty && field.isEmpty(ptr) {
continue
}
+ if isNotFirst {
+ stream.WriteMore()
+ }
field.encode(ptr, stream)
isNotFirst = true
@@ -1097,4 +1097,4 @@ func (encoder *emptyStructEncoder) encodeInterface(val interface{}, stream *Stre
func (encoder *emptyStructEncoder) isEmpty(ptr unsafe.Pointer) bool {
return true
-}
+}