我有一个像这样的JSON文件:
{
"men_rankings": {
"abe": ["cat", "bea", "ada"],
"bob": ["ada", "cat", "bea"],
"cal": ["ada", "bea", "cat"]
},
"women_rankings": {
"ada": ["abe", "cal", "bob"],
"bea": ["bob", "abe", "cal"],
"cat": ["cal", "abe", "bob"]
}
}
我想在两个列表中保存男人和女人的名字(我在python中工作)。 (我只想要这个:mens = ['abe', 'cal', 'bob']
)。另一个用户可能会提供完全不同的名称,所以我必须找到一种保存名称的方法,而不必知道例如男人的名字是abe,cal,bob。如果我这样使用:
import json
import sys
f = open(sys.argv[2], 'r')
j = json.load(f)
f.close()
变量j
中的将会有文件的所有内容,而不知道名称是什么。你知道吗? 提前谢谢!
答案 0 :(得分:2)
您不需要知道名字。 json.loads()
将此转换为Python数据结构,在本例中为嵌套dicts。 Dicts有一个keys()
方法给出了密钥。所以:
mens = j['men_rankings'].keys()
womens = j['women_rankings'].keys()
答案 1 :(得分:1)
您可以使用.keys()
方法从j
变量中的词典中提取所有键,如下所示:
men = j['men_rankings'].keys()
women = j['women_rankings'].keys()