2017-08-06 80 views
1

我正在嘗試瞭解如何獲取列表並將其轉換爲嵌套的JSON對象。從列表創建嵌套的json對象

期望輸出

{ 
    "Name1": [ 
    { 
     "key": "value", 
     "key": "value", 
     "key": "value", 
     "key": "value" 
    } 
    ], 
} 

到目前爲止,我的思維瞭如下,轉換使用列表中理解和分裂的關鍵值對字典。

list1 = ['key value', 'key value', 'key value'] 
dict1 = dict(item.split(" ") for item in list1) 

我當時以爲是轉換成JSON對象將是類似於:

print json.loads(dict1) 

然而,林不知道如何創建「名1」父鍵。谷歌似乎特別有用。我確定有一些簡單的缺失,任何指針都會被appreacited。

編輯

供您參考

+2

請先顯示數據(輸入)。現在很難看到你的輸入如何映射在你的輸出上...​​ –

+0

好點,加 – iNoob

回答

1

列表您只需將它們放在另一個字典,並使用一個新的列表。所以:

import json 

list1 = ['key1 value1', 'key2 value2', 'key3 value3'] 
dict1 = {'Name1': [dict(item.split(" ",1) for item in list1)] } 
#  ^dict ^list with 1 element   end list^^ end dict 
json.dumps(dict1) 

並且這產生:

>>> print(json.dumps(dict1)) 
{"Name1": [{"key2": "value2", "key3": "value3", "key1": "value1"}]} 

  1. 字典只能包含不同的密鑰(均在JSON和Python);
  2. 您最好將其與.split(" ",1)分開,因爲如果該值包含空格,則這些都將被視爲單個值。
  3. 詞典是無序的,所以鍵的順序可以被打亂。
+0

只是按需要工作,謝謝。 – iNoob