ich mit einer Eisenbahn-API bin arbeiten, die JSON-Daten zu jedem Zug gibt, wie die Richtung, Geschwindigkeit, Position, das Ziel, usw.Python gibt nur JSON Schlüssel, aber nicht Werte
Ich schreibe ein einfache Funktion, die nur die Züge zurückgibt, die in die von mir angegebene Richtung fahren. Ich versuche das in einer for-Schleife zu machen.
def getAllTrainsMatchingCriteria(line, direction):
url = 'http://api.example.com/developer/api/v2/vehiclesbyroute?api_key=key&route='+line+'&format=json'
try:
response = (requests.get(url)).json()
except:
print('Unable to connect to API endpoint.')
# Parse Data
for trip in response['direction']:
if trip['direction_name'] == direction:
trains = []
for train in trip['trip']:
trains += train
return trains
Hier ist ein Beispiel für die Daten, die ich mit arbeiten: als ich
in meiner for-Schleife{
"route_id": "Route",
"route_name": "Route",
"route_type": "2",
"mode_name": "Commuter Rail",
"direction": [
{
"direction_id": "0",
"direction_name": "Outbound",
"trip": [
{
"trip_id": "Train-800-Weekday",
"trip_name": "8:00 Train from City",
"trip_headsign": "Destination",
"vehicle": {
"vehicle_id": "1701",
"vehicle_lat": "42.0341186523438",
"vehicle_lon": "-71.2189483642578",
"vehicle_bearing": "216",
"vehicle_speed": "0",
"vehicle_timestamp": "1510092937",
"vehicle_label": "1818"
}
},
{
"another example train"
},
{
"another train, etc."
}
]
}
}
Wenn ich Zug auf der Konsole zu drucken, ich alle Züge zu sehen, dass meine Kriterien entsprechen erwartet und die Daten sind richtig strukturiert.
Wenn ich Züge nach meiner for-Schleife drucke oder zurückschicke, sehe ich nur eine Reihe von Schlüsseln wie trip_id, trip_name usw. Keine Werte oder andere Daten.
In diesem Beispiel gibt es nur einen Zug, der meinen Kriterien entspricht, aber sagen wir mal 3. Wie kann ich alle drei Züge mit allen intakten Daten zurückgeben?