mirror of
https://github.com/zeromicro/go-zero.git
synced 2026-05-07 15:10:01 +08:00
fix(marshaler): fix bug when marshal array (#4790)
This commit is contained in:
@@ -142,7 +142,7 @@ func validateOptional(field reflect.StructField, value reflect.Value) error {
|
|||||||
if value.IsNil() {
|
if value.IsNil() {
|
||||||
return fmt.Errorf("field %q is nil", field.Name)
|
return fmt.Errorf("field %q is nil", field.Name)
|
||||||
}
|
}
|
||||||
case reflect.Array, reflect.Slice, reflect.Map:
|
case reflect.Slice, reflect.Map:
|
||||||
if value.IsNil() || value.Len() == 0 {
|
if value.IsNil() || value.Len() == 0 {
|
||||||
return fmt.Errorf("field %q is empty", field.Name)
|
return fmt.Errorf("field %q is empty", field.Name)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -462,3 +462,15 @@ func TestMarshal_FromString(t *testing.T) {
|
|||||||
assert.Nil(t, err)
|
assert.Nil(t, err)
|
||||||
assert.Equal(t, "10", m["json"]["age"].(string))
|
assert.Equal(t, "10", m["json"]["age"].(string))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestMarshal_Array(t *testing.T) {
|
||||||
|
v := struct {
|
||||||
|
H [1]int `json:"h,string"`
|
||||||
|
}{
|
||||||
|
H: [1]int{1},
|
||||||
|
}
|
||||||
|
|
||||||
|
m, err := Marshal(v)
|
||||||
|
assert.Nil(t, err)
|
||||||
|
assert.Equal(t, "[1]", m["json"]["h"].(string))
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user