2017-08-01 253 views
2

我想知道如何使用JSON對象的兩個值作爲鍵/值對將json列表轉換爲字典。 的JSON看起來是這樣的:Python - 將JSON對象轉換爲字典

"test": [ 
       { 
        "name": "default", 
        "range": "100-1000" 
       }, 
       { 
        "name": "bigger", 
        "range": "1000-10000" 
       } 
     ] 

我基本上要在字典使用的名稱爲重點和範圍內的值。所以在這種情況下字典將是{default:100-1000} {bigger: 1000-10000}

這可能嗎?

+0

你想改變一個字符串爲整數..?也許你應該首先將你的JSON字符串設置爲整數。 – baranskistad

+0

[將JSON字符串轉換爲Dictionary Not List]的可能的重複(https://stackoverflow.com/questions/19483351/converting-json-string-to-dictionary-not-list) –

+1

但在你的問題中,你定義了兩個字典作爲輸出? –

回答

5

您可以先將JSON字符串加載到包含json.loads的字典中。接下來,您可以使用字典解析來進行後期處理它:

from json import loads 

{ d['name'] : d['range'] for d in loads(json_string)['test'] } 

然後我們得到:

>>> { d['name'] : d['range'] for d in loads(json_string)['test'] } 
{'bigger': '1000-10000', 'default': '100-1000'} 

的情況下有兩個子字典具有相同,那麼最後一個會存儲在結果中。