在 Python 中,您可以执行以下操作:r = requests.get("http://wikidata.org/w/api.php", params=params)data = r.json()现在data是一个字典或哈希表(另外,我不需要事先定义字典的结构),我可以通过做 data["entities"], data["entities"]["Q12 来访问键的值“], 等等。我将如何在 golang 中做到这一点?到目前为止,我有这个:resp, err := http.Get("http://wikidata.org/w/api.php?"+v.Encode())if err != nil { // handle error}defer resp.Body.Close()decoder := json.NewDecoder(resp.Body)var data interface{}decodeErr := decoder.Decode(&data)if decodeErr != nil { // handle error}fmt.Println(data["entities"], data["entities"]["Q"+id])这给了我编译错误: invalid operation: data["entities"] (index of type interface {})那么应该var data是什么类型呢?我是否需要事先为 JSON 定义一个结构,或者是否可以在不修改代码的情况下处理任何 JSON 文件/流?
2 回答
- 2 回答
- 0 关注
- 157 浏览
添加回答
举报
0/150
提交
取消