refactor: 部分日志请求入参调整为json

This commit is contained in:
meilin.huang
2023-09-09 23:34:26 +08:00
parent 08c381fa60
commit 8e75e1f6ef
16 changed files with 98 additions and 88 deletions

View File

@@ -3,6 +3,7 @@ package jsonx
import (
"encoding/json"
"mayfly-go/pkg/logx"
"mayfly-go/pkg/utils/stringx"
"strings"
"github.com/buger/jsonparser"
@@ -33,6 +34,31 @@ func ToStr(val any) string {
}
}
// 将偶数个元素转为对应的map并转为json
//
// 偶数索引为key奇数为value
func AnysToStr(elements ...any) string {
return ToStr(Kvs(elements...))
}
// 将偶数个元素转为对应的map[string]any
//
// 偶数索引为json key奇数为value
func Kvs(elements ...any) map[string]any {
myMap := make(map[string]any)
for i := 0; i < len(elements); i += 2 {
key := stringx.AnyToStr(elements[i])
if i+1 < len(elements) {
value := elements[i+1]
myMap[key] = value
} else {
myMap[key] = nil
}
}
return myMap
}
// 根据json字节数组获取对应字段路径的string类型值
//
// @param fieldPath字段路径。如user.username等

View File

@@ -126,6 +126,8 @@ func AnyToStr(value any) string {
}
switch it := value.(type) {
case string:
return it
case float64:
return strconv.FormatFloat(it, 'f', -1, 64)
case float32:
@@ -150,8 +152,6 @@ func AnyToStr(value any) string {
return strconv.FormatInt(it, 10)
case uint64:
return strconv.FormatUint(it, 10)
case string:
return it
case []byte:
return string(value.([]byte))
default: