将json解析为字典 - 省略json常量键

时间:2017-11-07 14:51:37

标签: python json dictionary

我有一个形式为

的json
[{'key' : 'key1', 'value' : 'value1'}, {'key' : 'key2', 'value' : 'value2'}, ...]  

我希望获得表格的字典

{'key1' : 'value1', 'key2' : 'value2'}

如果我刚做json.load,我最终会以

结束
[{u'key': u'key1', u'value': u'value1'}, {u'key': u'key2', u'value': u'value2'}]}

有人知道如何省略这些key, value条目吗?

1 个答案:

答案 0 :(得分:2)

如果您拥有的是JSON 字符串,请先将其加载到list

import json
data = json.load(file)     # or json.loads(json_str)

接下来,使用 dict comp data转换为您想要的表单:

data = [{'key' : 'key1', 'value' : 'value1'}, {'key' : 'key2', 'value' : 'value2'}]
r = {d['key'] : d['value'] for d in data} 

r
{'key1': 'value1', 'key2': 'value2'}

完成后,您只需拨打json.dump并将其存储在文件中即可。

强制性免责声明:请注意字典不支持重复键(JSON字符串,iirc),因此如果您有重复键(后一个条目会覆盖前者),您最终可能会丢失数据。