代码优化
This commit is contained in:
parent
c92a8516d4
commit
014534d546
@ -58,9 +58,8 @@ func (f *Filter) Result() (*DynamicJSON, error) {
|
|||||||
// 为数组的处理
|
// 为数组的处理
|
||||||
pathArr := strings.Split(extraDataPath, ".[].")
|
pathArr := strings.Split(extraDataPath, ".[].")
|
||||||
val := gjson.Get(source, pathArr[0])
|
val := gjson.Get(source, pathArr[0])
|
||||||
isComplexType := val.IsArray() || val.IsObject()
|
|
||||||
if len(pathArr) == 1 {
|
if len(pathArr) == 1 {
|
||||||
result.SetValue(newDataPath, val.Value(), isComplexType)
|
f.SetValue(result, newDataPath, val.Value(), false, 0)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
// 支持list再抽取一层,处于性能考虑,这么限制,不做递归无限深度处理
|
// 支持list再抽取一层,处于性能考虑,这么限制,不做递归无限深度处理
|
||||||
@ -79,6 +78,18 @@ func (f *Filter) Result() (*DynamicJSON, error) {
|
|||||||
return result, nil
|
return result, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetValue 设置值
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 12:14 下午 2021/9/10
|
||||||
|
func (f *Filter) SetValue(result *DynamicJSON, path string, val interface{}, isSetSlice bool, sliceIndex int) {
|
||||||
|
if !isSetSlice {
|
||||||
|
result.SetValue(path, val, false)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// isLegalData 判断是否能转换成json结构, 只有slice/map/struct/能转换成slice或map的[]byte是合法的
|
// isLegalData 判断是否能转换成json结构, 只有slice/map/struct/能转换成slice或map的[]byte是合法的
|
||||||
//
|
//
|
||||||
// Author : go_developer@163.com<白茶清欢>
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
Loading…
Reference in New Issue
Block a user