json - Golang 转换 JSON

标签 json go

map [key:2073933158088]

我需要从这个数据结构中获取 key 作为字符串,但我似乎不知道如何!

非常感谢您帮助解决这个过于简单的问题。

上面的值封装在名为 data 的变量中。

我尝试过:data.keydata[key]data["key"]data[0 ] 并且这些似乎都不是合适的调用。

为了定义数据,我将 JSON 数据包发送到 IronMQ 上的队列。然后我从队列中提取消息并像这样操作它:

payloadIndex := 0

for index, arg := range(os.Args) {
        if arg == "-payload" {
                payloadIndex = index + 1
        }
}

if payloadIndex >= len(os.Args) {
        panic("No payload value.")
}

payload := os.Args[payloadIndex]

var data interface{}

raw, err := ioutil.ReadFile(payload)

if err != nil {
    panic(err.Error())
}

err = json.Unmarshal(raw, &data)

最佳答案

设计您的数据类型以匹配 json 结构。这是如何实现这一目标的:

package main

import (
    "fmt"
    "encoding/json"
)

type Data struct {
    Key string `json:"key"`
}

func main() {
    data := new(Data)
    text := `{ "key": "2073933158088" }`
    raw := []byte(text)
    err := json.Unmarshal(raw, data)
    if err != nil {
        panic(err.Error())  
    }
    fmt.Println(data.Key)
}

关于json - Golang 转换 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22919856/

相关文章:

go - Go 中的路由器 - 在每个 http 请求之前运行一个函数

ruby-on-rails - 使用事件模型序列化程序为充当可标记标签的标签加载 JSON 时出错

javascript - 将 JSON-LD 转换为 d3.js Node/链接格式?

javascript - NodeJS JSON.stringify() 瓶颈

json - 在 .net core 1.0 中解析 A​​WS SNS 通知

http - golang 和 ListenAndServeTLS 返回错误

statistics - 以秒计算事物并保持运行平均值的算法

go - 解码到结构时从 JSON 转换值

ruby-on-rails - 如何将 JSON 列表映射到 Virtus 模型?

go - 尝试在 golang 中解码 gob 时出现 "extra data in buffer"错误