从这个嵌套的JSON对象中,我需要解析并打印出"id"
的值和"location"
的值。
{
"links": {
"self": "http://localhost:2510/api/v2/jobs?skills=data%20science"
},
"data": [
{
"id": 121,
"type": "job",
"attributes": {
"title": "Data Scientist",
"date": "2014-01-22T15:25:00.000Z",
"description": "Data scientists are in increasingly high demand amongst tech companies in London. Generally a combination of business acumen and technical skills are sought. Big data experience ..."
},
"relationships": {
"location": {
"links": {
"self": "http://localhost:2510/api/v2/jobs/121/location"
},
"data": {
"type": "location",
"id": 3
}
},
"country": {
"links": {
"self": "http://localhost:2510/api/v2/jobs/121/country"
},
"data": {
"type": "country",
"id": 1
}
},
我一直试图以这种方式抓住它:
with open('data.json') as data_file:
data = json.load(data_file)
for item in data["data"]:
for job in data['id']:
for title in data['data']:
print(title.get('location')
但是我无法获取所需的数据。
我怎样才能手术提取我感兴趣的那些数据?
修改
我一直在尝试这种方式作为某种探索,但即使在文件完成之前崩溃:
import json
from pprint import pprint
with open('data.json') as data_file:
data = json.load(data_file)
for item in data["data"]:
for job in item:
print( job )
答案 0 :(得分:1)
我正在跳跃并猜测最终你想要的信息,这是每个位置ID的项目ID列表:
import json
from collections import defaultdict
with open('prettyPrint.txt') as data_file:
data = json.load(data_file)
locations = defaultdict(int)
for item in data['data']:
location = item['relationships']['location']['data']['id']
locations[location] += 1
print(locations)