以下内容转载自 /lwc5411117/article/details/102855254
在存储的时候想把数据列表存储成json string,但是在代码使用的时候又觉得用map更快更方便。这个时候就需要相互转换,下面是一个转换的例子。
// Test for json and map converting package main import ( "encoding/json" "fmt" ) func main() { jsonStr := `{"ip": "127.0.0.1", "device": "ABESSF0023"}` // test json string to map m, err := JsonToMap(jsonStr) if err != nil { ("Convert json to map failed with error: %+v\n", err) } ("Converted to map result: %+v\n", m) // test map to json string jsonRes, err := MapToJson(m) if err != nil { ("Convert json to map failed with error: %+v\n", err) } ("Convert to json string result: %+v\n", jsonRes) } // Convert json string to map func JsonToMap(jsonStr string) (map[string]string, error) { m := make(map[string]string) err := ([]byte(jsonStr), &m) if err != nil { ("Unmarshal with error: %+v\n", err) return nil, err } for k, v := range m { ("%v: %v\n", k, v) } return m, nil } // Convert map json string func MapToJson(m map[string]string) (string, error) { jsonByte, err := (m) if err != nil { ("Marshal with error: %+v\n", err) return "", nil } return string(jsonByte), nil }