2013-03-28 82 views
4

我得到的錯誤:JSON解組錯誤

json.Unmarshal undefined (type interface {} has no field or method 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) 

} 

回答

26

您已經定義了一個局部變量json掩蓋全局符號json指JSON模塊。重命名你的本地變量應該允許你的代碼工作。

+0

感謝馬丁,這讓我瘋狂:) – tlossen

+0

2017年的確切錯誤:) – deepujain