增加[][]any处理
This commit is contained in:
13
run.go
13
run.go
@ -180,6 +180,8 @@ func handleData(inputVal any, rule *define.FieldRule) (any, error) {
|
||||
return handleSliceFloat(inputVal, rule)
|
||||
case consts.DataTypeSliceBool, consts.DataTypeSliceBoolWithChar: // bool数组
|
||||
return handleSliceBool(inputVal, rule)
|
||||
case consts.DataTypeSliceSlice:
|
||||
return handleSliceSlice(inputVal, rule)
|
||||
case consts.DataTypeSliceMapAnyAny: // map 列表
|
||||
return handleSliceMapAny(inputVal, rule)
|
||||
case consts.DataTypeSliceMapStringAny:
|
||||
@ -584,7 +586,16 @@ func handleSliceSlice(inputValue interface{}, rule *define.FieldRule) ([][]any,
|
||||
if anySlice, err = handleSlice(inputValue, rule); nil != err {
|
||||
return nil, err
|
||||
}
|
||||
return nil, nil
|
||||
sliceSlice := make([][]any, 0)
|
||||
for _, item := range anySlice {
|
||||
byteData := serialize.JSON.MarshalForByte(item)
|
||||
res := make([]any, 0)
|
||||
if err = serialize.JSON.UnmarshalWithNumber(byteData, &res); nil != err {
|
||||
return nil, fmt.Errorf("%v : data type is expect [][]any, but convert fail : %v", rule.Path, err.Error())
|
||||
}
|
||||
sliceSlice = append(sliceSlice, res)
|
||||
}
|
||||
return sliceSlice, nil
|
||||
}
|
||||
|
||||
// handleSliceMapAny ...
|
||||
|
Reference in New Issue
Block a user