我想知道如何从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)]