Go

Go语言:json转map

2017-08-02  本文已影响0人  Mdroid

使用go语言将json解析到map里,这里主要使用到encoding/json包下的Unmarshal()函数。
函数原型:

func Unmarshal(data []byte, v interface{}) error

Unmarshal函数解析json编码的数据并将结果存入v指向的值。

json数据:

{
    "device": "1",
    "data": [
        {
            "humidity": "27",
            "time": "2017-07-03 15:23:12"
        }
    ]
}

整体代码:

package main

import (
    "encoding/json"
    "fmt"
)

func main() {
    json_str := "{\"device\": \"1\",\"data\": [{\"humidity\": \"27\",\"time\": \"2017-07-03 15:23:12\"}]}"
    m := make(map[string]interface{})
    err := json.Unmarshal([]byte(json_str), &m)
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println(m["device"])
        data := m["data"]
        if v, ok := data.([]interface{})[0].(map[string]interface{}); ok {
            fmt.Println(ok, v["humidity"], v["time"])
        }
    }
}
上一篇下一篇

猜你喜欢

热点阅读