- 添加Struct2MapByJson

- 去掉将全局structs.DefaultTagName设置为"json"
This commit is contained in:
gazebo
2019-03-27 22:42:35 +08:00
parent 11c6386331
commit ea13a07fea
10 changed files with 26 additions and 23 deletions

View File

@@ -50,7 +50,7 @@ func TryUnmarshalUseNumber(data []byte, result interface{}) error {
func Unmarshal2Map(data []byte, structObj interface{}) (resultMap map[string]interface{}, err error) {
if err = json.Unmarshal(data, structObj); err == nil {
if err = json.Unmarshal(data, &resultMap); err == nil {
m := structs.Map(structObj)
m := Struct2MapByJson(structObj)
for k := range resultMap {
if value, ok := m[k]; ok {
resultMap[k] = value
@@ -423,3 +423,9 @@ func Map2KeySlice(flagMap map[string]int) (keyList []string) {
}
return keyList
}
func Struct2MapByJson(obj interface{}) (mapData map[string]interface{}) {
structsObj := structs.New(obj)
structsObj.TagName = "json"
return structsObj.Map()
}