map [key:2073933158088]
我需要从这个数据结构中获取 key 作为字符串,但我似乎不知道如何!
非常感谢您帮助解决这个过于简单的问题。
上面的值封装在名为 data 的变量中。
我尝试过:data.key
、data[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/