【发布时间】:2018-10-08 06:25:39
【问题描述】:
我需要将 json 字符串转换为映射。这是我的围棋程序。
package main
import (
"encoding/json"
"fmt"
)
func main() {
str := `{
"Bangalore_City": "35_Temperature",
"NewYork_City": "31_Temperature",
"Copenhagen_City": "29_Temperature",
"hobbies" : {
"name" : "username"
}
}`
var m map[string]interface{}
json.Unmarshal([]byte(str), &m)
fmt.Println(m["hobbies"]["name"])
}
如果我使用此代码,我会收到以下错误。
get.go:26:26: invalid operation: m["hobbies"]["name"] (type interface {} does not support indexing)
请任何人帮助解决此问题。提前致谢
【问题讨论】:
-
这是因为键
hobbies返回interface{}类型,而不是map[string]string,如果您的数据具有固定模式,那么我建议您创建一个结构并解组!
标签: go