直接上代码(需要引入encoding/json包)
// 当前程序的包名
package main
// 导入其它的包
import (
"encoding/json"
"fmt"
)
func main() {
map2json2map()
}
func map2json2map() {
map1 := make(map[string]interface{})
map1["1"] = "hello"
map1["2"] = "world"
//return []byte
str, err := json.Marshal(map1)
if err != nil {
fmt.Println(err)
}
fmt.Println("map to json", string(str))
//json([]byte) to map
map2 := make(map[string]interface{})
err = json.Unmarshal(str, &map2)
if err != nil {
fmt.Println(err)
}
fmt.Println("json to map ", map2)
fmt.Println("The value of key1 is", map2["1"])
}
执行代码 go run jsonmap.go ,结果如下:
map to json {"1":"hello","2":"world"}
json to map map[1:hello 2:world]
The value of key1 is hello