From 6840508339c281792c5845df9d6da63c787bfc6a Mon Sep 17 00:00:00 2001 From: gazebo Date: Wed, 7 Aug 2019 18:18:14 +0800 Subject: [PATCH] + Struct2Map --- utils/typeconv.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/utils/typeconv.go b/utils/typeconv.go index 9e75380a..df233bca 100644 --- a/utils/typeconv.go +++ b/utils/typeconv.go @@ -443,12 +443,19 @@ func MergeMaps(firstMap map[string]interface{}, otherMaps ...map[string]interfac 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.TagName = "json" + structsObj.TagName = tagName return structsObj.Map() } +func Struct2MapByJson(obj interface{}) (mapData map[string]interface{}) { + return Struct2Map(obj, "") +} + // 此函数将MAP中所有的子MAP中的数据提升到最上层,相同字段会覆盖父MAP的 func FlatMap(in map[string]interface{}) map[string]interface{} { keys := []string{}