大家好,今天没事研究了一下Go常用的map、struct、jsonstr相互转化
话不多说直接上代码
package main
import (
"encoding/json"
"fmt"
"reflect"
)
/**
jsonstring --> map
*/
func JsonStr2Map(jsonStr string) (event map[string]interface{},err error){
if err = json.Unmarshal([]byte(jsonStr), &event); err != nil {
panic(err)
}
return
}
/**
jsonstring --> struct
*/
func JsonStr2Struct(jsonStr string, eventStruct interface{}) {
if err := json.Unmarshal([]byte(jsonStr), &eventStruct); err != nil {
panic(err)
}
}
/**
map --> struct
*/
func Map2Struct(mapBean map[string]interface{},eventStruct interface{}) {
//将 map 转换为指定的结构体
str, err := Map2JsonStr(mapBean)
if err != nil {
fmt.Println("err = ",err)
}
JsonStr2Struct(str,&eventStruct)
}
/**
map --> jsonstring
*/
func Map2JsonStr(mapBean map[string]interface{}) (str string,err error) {
bytes, err := json.Marshal(mapBean)
if err !