我有一个json文件,看起来像:
{
"ancestors": [
{
"subcategory": [
{
"key": "city",
"name": "City"
}
],
"name": "Da Lat"
},
{
"subcategory": [
{
"key": "province",
"name": "Province"
}
],
"name": "Lam Dong Province"
},
{
"subcategory": [
{
"key": "country",
"name": "Country"
}
],
"name": "Vietnam"
}
],
}
问题是我需要访问其子键为省的子类别的名称。
我想访问“林东省”
我无法弄清楚如何上升一级并检查条件。
答案 0 :(得分:2)
迭代它,检查你想要的条件。如果条件为真,则返回所需的值。
def search_subcategories(json_dict):
for element in json_dict['ancestors']:
if element['subcategory'][0]['key'] == 'province':
return element['name']
答案 1 :(得分:2)
您可以将next
与生成器理解结合使用。
res = next(i['name'] for i in json_dict['ancestors'] if
i['subcategory'][0]['key'] == 'province')
# 'Lam Dong Province'
要构建条件i['subcategory'][0]['key']
,您只需注意:
[]
表示,列表中唯一的元素可以通过[0]
检索。{}
表示,可以通过[key]
检索值。