+ Struct2Map

This commit is contained in:
gazebo
2019-08-07 18:18:14 +08:00
parent 8a9ec5dc91
commit 6840508339

View File

@@ -443,12 +443,19 @@ func MergeMaps(firstMap map[string]interface{}, otherMaps ...map[string]interfac
return retVal return retVal
} }
func Struct2MapByJson(obj interface{}) (mapData map[string]interface{}) { func Struct2Map(obj interface{}, tagName string) (mapData map[string]interface{}) {
if tagName == "" {
tagName = "json"
}
structsObj := structs.New(obj) structsObj := structs.New(obj)
structsObj.TagName = "json" structsObj.TagName = tagName
return structsObj.Map() return structsObj.Map()
} }
func Struct2MapByJson(obj interface{}) (mapData map[string]interface{}) {
return Struct2Map(obj, "")
}
// 此函数将MAP中所有的子MAP中的数据提升到最上层相同字段会覆盖父MAP的 // 此函数将MAP中所有的子MAP中的数据提升到最上层相同字段会覆盖父MAP的
func FlatMap(in map[string]interface{}) map[string]interface{} { func FlatMap(in map[string]interface{}) map[string]interface{} {
keys := []string{} keys := []string{}