代码优化
This commit is contained in:
parent
c92a8516d4
commit
014534d546
@ -58,9 +58,8 @@ func (f *Filter) Result() (*DynamicJSON, error) {
|
||||
// 为数组的处理
|
||||
pathArr := strings.Split(extraDataPath, ".[].")
|
||||
val := gjson.Get(source, pathArr[0])
|
||||
isComplexType := val.IsArray() || val.IsObject()
|
||||
if len(pathArr) == 1 {
|
||||
result.SetValue(newDataPath, val.Value(), isComplexType)
|
||||
f.SetValue(result, newDataPath, val.Value(), false, 0)
|
||||
continue
|
||||
}
|
||||
// 支持list再抽取一层,处于性能考虑,这么限制,不做递归无限深度处理
|
||||
@ -79,6 +78,18 @@ func (f *Filter) Result() (*DynamicJSON, error) {
|
||||
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是合法的
|
||||
//
|
||||
// Author : go_developer@163.com<白茶清欢>
|
||||
|
Loading…
Reference in New Issue
Block a user