如何从json中提取属性并在python中列出列表



我想知道如何从json文件中提取属性标题,并根据这些值创建python列表。

[
{
"title": "5280 Cafe At Rallysport",
"streetAddress": "2727 29th St.",
"addressLocality": "Boulder",
"addressRegion": "CO",
"postalCode": "80301",
"phoneNumber": "720-526-1013",
"vendorCuisine": "Breakfast"
},
{
"title": "Ali Baba Grill Boulder",
"streetAddress": "3054 28th St",
"addressLocality": "Boulder",
"addressRegion": "CO",
"postalCode": "80304",
"phoneNumber": "303-440-1393",
"vendorCuisine": "Mediterranean"
}]

我想提取属性标题,并根据这些值列出一个列表。

您可以使用json.loads(如果直接从文件中读取,则使用json.load(将文本(json格式(转换为python对象(嵌套列表/dicts(,然后使用列表理解:

import json
text = '''[
{
"title": "5280 Cafe At Rallysport",
"streetAddress": "2727 29th St.",
"addressLocality": "Boulder",
"addressRegion": "CO",
"postalCode": "80301",
"phoneNumber": "720-526-1013",
"vendorCuisine": "Breakfast"
},
{
"title": "Ali Baba Grill Boulder",
"streetAddress": "3054 28th St",
"addressLocality": "Boulder",
"addressRegion": "CO",
"postalCode": "80304",
"phoneNumber": "303-440-1393",
"vendorCuisine": "Mediterranean"
}]'''
output = [d['title'] for d in json.loads(text)]
print(output) # ['5280 Cafe At Rallysport', 'Ali Baba Grill Boulder']

如果json文本存储在restaurants.json中,那么:

with open('restaurants.json', 'r') as f:
output = [d['title'] for d in json.load(f)]

最新更新