chore: refactoring mapping string to slice (#1959)

This commit is contained in:
Kevin Wan
2022-06-03 10:49:22 +08:00
committed by GitHub
parent 07145b210e
commit b94b68a427
2 changed files with 37 additions and 15 deletions

View File

@@ -496,17 +496,20 @@ func (u *Unmarshaler) fillSlice(fieldType reflect.Type, value reflect.Value, map
return nil
}
func (u *Unmarshaler) fillSliceFromString(fieldType reflect.Type, value reflect.Value, mapValue interface{}) error {
func (u *Unmarshaler) fillSliceFromString(fieldType reflect.Type, value reflect.Value,
mapValue interface{}) error {
var slice []interface{}
switch v := mapValue.(type) {
case json.Number:
case fmt.Stringer:
if err := jsonx.UnmarshalFromString(v.String(), &slice); err != nil {
return err
}
default:
if err := jsonx.UnmarshalFromString(mapValue.(string), &slice); err != nil {
case string:
if err := jsonx.UnmarshalFromString(v, &slice); err != nil {
return err
}
default:
return errUnsupportedType
}
baseFieldType := Deref(fieldType.Elem())