GO语言中json与map的转换

直接上代码(需要引入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

原文地址:https://www.cnblogs.com/fengxm/p/5997265.html