读取嵌套的json fi

2024-04-24 16:45:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个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中,将有文件的所有内容,而不知道名称是什么。你知道吗? 提前谢谢!你知道吗


Tags: 文件importjsonsys名字catcalbob
2条回答

您可以使用^{}方法从j变量中的dict中提取所有键,如下所示:

men = j['men_rankings'].keys()
women = j['women_rankings'].keys()

你不需要知道名字。json.loads()将其转换为Python数据结构,在本例中是嵌套dict。dict有一个keys()方法来给出键。所以:

mens = j['men_rankings'].keys()
womens = j['women_rankings'].keys()

相关问题 更多 >