JSON反序列化错误

20

我遇到了一个错误:

json.Unmarshal未定义(类型interface {}没有Unmarshal字段或方法)

尝试将JSON字节切片转换为通用接口{}类型。我正在阅读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)

}
1个回答

46

您定义了一个名为json的本地变量,它遮盖了指向JSON模块的全局符号json。重命名您的本地变量应该可以让您的代码工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接