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{}