funcReflectMethod(objinterface{})map[string]interface{} { t := reflect.TypeOf(obj) v := reflect.ValueOf(obj)vardata =make(map[string]interface{})fori :=0; i < t.NumField(); i++ { data[strings.ToLower(t.Field(i).Name)] = v.Field(i).Interface() }returndata } 使用第三方库 ...
func structToMap(s interface{}) map[string]interface{} { result := make(map[string]interface{}) // 使用反射获取结构体字段信息 v := reflect.ValueOf(s) t := reflect.TypeOf(s) for i := 0; i < t.NumField(); i++ { // 将结构体字段名和值存储到Map中 result[t.Field(i).Name] ...
City string Company string Age int Sex string Proviece string Com string PostTo string Buys string Hos string } func main() { StructToMapViaJson() //StructToMapViaReflect() } func StructToMapViaJson() { m := make(map[string]interface{}) t := time.Now() person := Persion{ Id: 984...
packagemainimport("fmt")typePersonEntitystruct{idstringnamestringkeystringaddrstring}typeStudentmap[string]interface{} 下面开始转换操作。第一种方式,也就是直接取值赋值: funcmain(){entity:=PersonEntity{id:"11111",name:"11111",key:"11111",addr:"11111",}newMap:=Student{"id":entity.id,"name":ent...
一、通过struct转json,json转成map funcStructToMapViaJson(){m:=make(map[string]interface{})t:=time.Now()person:=Persion{Id:98439,Name:"zhaondifnei",Address:"大沙地",Email:"dashdisnin@126.com",School:"广州第十五中学",City:"zhongguoguanzhou",Company:"sndifneinsifnienisn",Age:23,Sex:"F...
"score"`}funcStructConvertMapByTag(objinterface{},tagName string)map[string]interface{}{t:=reflect.TypeOf(obj)v:=reflect.ValueOf(obj)vardata=make(map[string]interface{})fori:=0;i<t.NumField();i++{tagName:=t.Field(i).Tag.Get(tagName)fmt.Println(tagName)iftagName!=""&&tagName!="-"...
先将map转换成JSON,再通过 JSON 转换成struct 操作有点繁琐 func TestMapToStructByJson(t *testing.T) { beforeMap := map[string]interface {}{ "id":"123", "user_name":"酒窝猪", "address":[]map[string]interface{}{{"address": "address01"}, {"address": "address02"}}, ...
beforeMap := map[string]interface {}{ "id":"123", "user_name":"酒窝猪", "address":[]map[string]interface{}{{"address": "address01"}, {"address": "address02"}}, } var afterStruct =UserInfoVo{} before := time.Now() marshal, err := json.Marshal(beforeMap) if err!=nil{ fmt...
先将map 转换成 JSON,再通过 JSON 转换成 struct 操作有点繁琐 func TestMapToStructByJson(t *testing.T) { beforeMap := map[string]interface {}{ "id":"123", "user_name":"酒窝猪", "address":[]map[string]interface{}{{"address": "address01"}, {"address": "address02"}}, } var af...
注意json里面的key和struct里面的key要一致,struct中的key的首字母必须大写,而json中大小写都可以。 package main import ("fmt""encoding/json") type Peoplestruct{ Namestring`json:"name_title"` Ageint`json:"age_size"` } func JsonToStructDemo(){ ...