将带有字典的列表转换为字典

时间:2018-06-05 23:27:27

标签: python json parsing

我已经看过堆栈溢出来回答这个问题(以及更多!)。然而,他们中的大多数都提出了错误,要修复,我将不得不改变整个json。这可能不是最好的方法,但是,我所做的是得到一个非常长的json。然后我第一次解析并得到了这个:
[{'food': 'eat'}, {'food': 'eat out'}, {'food': 'go to dinner'}, {'food': 'go to lunch'}, {'food': 'go to breakfast'}, {'food': 'go out'}, {'food': 'eat out'}]
唯一的问题是,当我第二次解析它时,它会转换为一个列表。我已经尝试了多种方法来解决这个问题,但是没有找到任何方法。以下是我的代码示例:

# location is location of json, called JoeLearn.json

with open(location) as f:
    data = json.load(f)
for checks in range(len(['food'])): # I will replace ['food'] with a variable with more data in it. 
    data['food']
    # Code to convert to list

我做data['food']之后看起来像这样(和以前一样):
[{'food': 'eat'}, {'food': 'eat out'}, {'food': 'go to dinner'}, {'food': 'go to lunch'}, {'food': 'go to breakfast'}, {'food': 'go out'}, {'food': 'eat out'}]
如何将其转换为字典,以便我可以在其上预先形成.keys()?如果您有任何疑问,请发表评论。如果您有答案,请将其添加到答案中,因为很多人都会在评论中留下答案。

提前致谢,
- 用户9297446

1 个答案:

答案 0 :(得分:0)

也许这会有所帮助:

with open(location) as f:
    data = json.load(f)
food_list = [x['food'] for x in data] #find all value that with 'food' as key