Golang的的 Json string和和Map互相转换互相转换
在存储的时候想把数据列表存储成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 {
fmt.Printf("Convert json to map failed with error: %+v", err)
}
fmt.Printf("Converted to map result: %+v", m)
// test map to json string
jsonRes, err := MapToJson(m)
if err != nil {
fmt.Printf("Convert json to map failed with error: %+v", err)
}
fmt.Printf("Convert to json string result: %+v", jsonRes)
}
// Convert json string to map
func JsonToMap(jsonStr string) (map[string]string, error) {
m := make(map[string]string)
err := json.Unmarshal([]byte(jsonStr), &m)
if err != nil {
fmt.Printf("Unmarshal with error: %+v", err)
return nil, err
}
for k, v := range m {
fmt.Printf("%v: %v", k, v)
评论10