从列表

时间:2017-08-06 22:38:33

标签: python 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)

然而,我不知道如何创建" Name1"父键。似乎谷歌特别有帮助。我确定有一些简单的东西丢失,任何指针都会被贬低。

修改

列入供参考的清单

1 个答案:

答案 0 :(得分: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.   
  3. 您最好使用.split(" ",1)进行拆分,因为如果值包含空格,则这些都被视为单个值。
  4.   
  5. 字典是无序的,因此可以改组键的顺序。
  6.