2015-10-05 74 views
-1

我已經創建了一個我想作爲JSON字符串傳遞並返回列表的列表。所以我的列表一開始是這樣的:Python將列表轉換爲JSON,然後返回列表

myList = "[{'Approver': 'demouser', 'name': 'Demo User', 'amount': 100}, {'Approver': 'demouser2', name: 'Demo User 2', 'amount': 200}]" 

我試圖轉換成JSON:

JSONList = json.dumps(myList) 

我然後檢索這一點,並試圖通過反向轉換到一個列表:

JSONRetrieve = json.loads(JSONList) 

我現在想要做的是打印每個列表項的數量:

for item in JSONRetrieve: 
    print item['amount'] 

但是,它不被識別爲一個列表或字典,所以我不能以這種方式訪問​​...任何幫助將不勝感激!

+1

'myList'是一個字符串。 'dumps'例如字典。你需要創建一個字典,或者使用'json.load'或者其他東西將你的json字符串加載到字典中。 – njzk2

+1

在'myList'中,你沒有列表,你需要一個字符串。刪除'''':'{''Approver':'demouser','name':'Demo User','amount':100},{'Approver':'demouser2',名稱:'Demo User 2' ,'amount':200}]' – Gocht

+0

爲什麼要雙重轉換? – Leb

回答

0

您沒有列表;你有一個字符串。內容看起來像Python文字語法,您可以使用ast.literal_eval()將其轉換爲Python對象:

import ast 
actual_list = ast.literal_eval(myList)