2015-04-03 28 views
0

我正在處理的代碼是一個將JSON對象轉換爲iCalendar表單的函數。爲此,我正在編寫一個iCalendar模板,然後將信息從JSON插入到該模板中。我的代碼需要JSON的解碼,這最近給我帶來了很多挫折。這是我所嘗試的和我得到的錯誤消息。如何調用json.decode()?

import json 
def convert(jsonData) 
    .... 
    data = json.decode(jsonData) 

AttributeError的: '模塊' 對象沒有屬性 '解碼'

此錯誤混淆了我,因爲該方法是JSON API https://docs.python.org/2/library/json.html#module-json

import json 
def convert(jsonData) 
    .... 
    data = json.JSONDecoder().decode(jsonData) 

類型錯誤中:預期字符串或緩衝區

第二個錯誤引用了decode()中的一行代碼: line 366

end = self.raw_decode(s,idx=_w(s,o).end()) 

編輯

data = json.JSONDecoder.decode(jsonData) 

類型錯誤:不受約束的方法解碼()必須與JSONDecoder實例作爲第一個參數來調用(得到,而不是字典實例)

+0

jsonData的類型是什麼? – 2015-04-03 17:41:21

+1

如果你通讀了你鏈接的文檔,你會發現'decode()'是一個'json.JSONDecoder'對象的方法... – MattDMo 2015-04-03 17:42:42

+0

'json.load()'或'json.loads )'? – 2015-04-03 17:43:00

回答

1

如果jsonData是一個字符串,你只需要json.loads(jsonData)將其轉換爲Python對象。