GO语言:json转map

Mdroid · · 12701 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

使用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)
    fmt.Println(err)
    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"])
        }
    }
}

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:Mdroid

查看原文:GO语言:json转map

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

12701 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传