feature/upgrade_filter #7

Merged
zhangdeman merged 14 commits from feature/upgrade_filter into master 2024-12-02 14:35:30 +08:00
Showing only changes of commit c10486b403 - Show all commits

View File

@ -13,6 +13,8 @@ import (
"reflect"
"strings"
"git.zhangdeman.cn/zhangdeman/util"
"git.zhangdeman.cn/zhangdeman/consts"
"git.zhangdeman.cn/zhangdeman/json_filter/gjson_hack"
"git.zhangdeman.cn/zhangdeman/serialize"
@ -242,7 +244,15 @@ func (f *filter) getValue(dataType consts.DataType, sourceValue gjson.Result, de
return strVal.Value(), nil
case consts.DataTypeAny:
if sourceValue.Exists() {
// TODO : 可能存在精度丢失
// 可能存在精度丢失, 原因 : gjson.Value 内置的转换, int64 超过一定大小会存在丢失精度问题
if sourceValue.Num > 0 {
// 说明是数字
var res float64
if err := util.ConvertAssign(&res, sourceValue.String()); nil != err {
return nil, err
}
return res, nil
}
return sourceValue.Value(), nil
}
return defaultValue, nil