json解码错误

标签 json go

我收到以下错误:

json.Unmarshal undefined(类型接口(interface){}没有Unmarshal的字段或方法)

尝试将 json 字节 slice 转换为通用接口(interface){} 类型。我正在阅读 encoding/json 的文档,他们提供了一个示例,表明这是有效的。什么给了?

package main

import (
    "encoding/json"
    "fmt"
    "io/ioutil"
)

func main() {

    var json interface{}
    data, _ := ioutil.ReadFile("testMusic.json")
    json.Unmarshal(data, &json)
    m := json.(map[string]interface{})
    fmt.Printf("%+v", m)

}

最佳答案

您已经定义了一个局部变量 json,它掩盖了引用 JSON 模块的全局符号 json。重命名你的局部变量应该可以让你的代码工作。

关于json解码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15686151/

相关文章:

http - 从在 go 中使用 block 传输的 http 服务器读取和流式传输响应

go - 如何使用 http.HandleFunc 映射到以 "/"结尾的模式的同一函数

jquery - 如何根据另一个下拉菜单更改下拉菜单值

java - 在 Json 之后返回三种 int 可能性之一

java - 如何在 Android 应用程序中使用 GSON 从 Youtube API 读取 JSON-c 数据

go - 无法 brew switch go 版本

python - 如何修复 'TypeError: Object of type bytes is not JSON serializable'

javascript - 排序并查找距当前时间最近的时间

json - 从 JSON 反序列化时接口(interface)断言失败

goroutines 在打印 timecost 时相互影响