Compare commits

...
5 Commits
Author SHA1 Message Date
gaoda aab78082ce refactor(common):优化JSON清理逻辑
- 使用gjson.DecodeToJson替代gjson.Unmarshal提高解析效率
- 添加StrNumber选项支持字符串数字处理
- 简化数据清理流程
- 移除不必要的中间变量声明
- 提升JSON解析的准确性和性能
2025-11-12 10:58:30 +08:00
gaoda 59158d7309 Merge remote-tracking branch 'origin/main'
# Conflicts:
#	lklsdk/common/json_cleaner.go
2025-11-12 10:51:41 +08:00
maguodong 6f685ea087 Merge remote-tracking branch 'github.com/black1552/main' 2025-11-12 10:08:55 +08:00
maguodong b038c64873 refactor(common): 替换JSON处理库为gjson
- 使用gjson替代标准库encoding/json- 更新Unmarshal调用为gjson.Unmarshal
- 更新Marshal调用为gjson.Marshal- 移除未使用的json导入声明
2025-11-12 10:08:36 +08:00
gaoda 03aec086bf refactor(common): 替换JSON处理库为gjson
-encoding 将标准库/json替换为github.com/gogf/gf/v2/encoding/gjson
- 更新Unmarshal方法调用为gjson.Unmarshal- 更新Marshal方法调用为gjson.Marshal- 保持原有数据清理逻辑不变
2025-11-12 09:55:46 +08:00
+7 -7
View File
@@ -1,24 +1,24 @@
package common package common
import ( import (
"encoding/json"
"reflect" "reflect"
"github.com/gogf/gf/v2/encoding/gjson"
) )
// CleanJSON 清理JSON字符串中的空值和0值字段 // CleanJSON 清理JSON字符串中的空值和0值字段
func CleanJSON(jsonStr string) ([]byte, error) { func CleanJSON(jsonStr string) ([]byte, error) {
var data interface{} // 解析为JSON
json, err := gjson.DecodeToJson(jsonStr, gjson.Options{StrNumber: true})
// 解析JSON字符串 if err != nil {
if err := json.Unmarshal([]byte(jsonStr), &data); err != nil {
return nil, err return nil, err
} }
// 递归清理数据 // 递归清理数据
cleaned := cleanData(data) cleaned := cleanData(json)
// 转换回JSON字符串 // 转换回JSON字符串
result, err := json.Marshal(cleaned) result, err := gjson.Marshal(cleaned)
if err != nil { if err != nil {
return nil, err return nil, err
} }