Struct转Map
func StructToMap(obj interface{}) map[string]interface{}{
obj1 := reflect.TypeOf(obj)
obj2 := reflect.ValueOf(obj)
var data = make(map[string]interface{})
for i := 0; i < obj1.NumField(); i++ {
data[obj1.Field(i).Name] = obj2.Field(i).Interface()
}
return data
}
2.Map转Struct
func MapToStruct(){
mapInstance := make(map[string]interface{})
mapInstance["Name"] = "jqw"
mapInstance["Age"] = 18
var people People
err := mapstructure.Decode(mapInstance, &people)
if err != nil {
fmt.Println(err)
}
fmt.Println(people)
}
3.map[string]string类型转换为map[string]interface{}
var src []map[string]string
var dest []map[string]interface{}
for i := range src {
m := src[i]
n := make(map[string]interface{})
for k,v := range m {
n[k] = interface{}(v)
}
dest = append(dest, n)
}
3.