我已经看过堆栈溢出来回答这个问题(以及更多!)。然而,他们中的大多数都提出了错误,要修复,我将不得不改变整个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
答案 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