2017-02-24 3 views
2

Ich versuche, von einem Python-Skript auf einen JSON-Wert zuzugreifen. der Wert ich Zugang versuche ist „name“ nur, wirklich Hilfe zu schätzen wissen würde, wie kann ich das tun, um die JSON-Datendatei einen Python-Skript ist:Abrufen eines Python-Programms zum Anzeigen von JSON-Daten

"restaurants": [ 
{ 
    "restaurant": { 
    "R": { 
     "res_id": 9101083 
    }, 
    "id": "9101083", 
    "name": "My Meat Wagon", 
    "url": "https://www.zomato.com/dublin/my-meat-wagon-smithfield?utm_source=api_basic_user&utm_medium=api&utm_campaign=v2.1", 
    "location": { 
     "address": "Market Square, Smithfield, Dublin Dublin 7", 
     "locality": "Smithfield", 
     "city": "Dublin", 
     "city_id": 91, 
     "latitude": "53.3489980000", 
     "longitude": "-6.2788120000", 
     "zipcode": "Dublin 7", 
     "country_id": 97, 
     "locality_verbose": "Smithfield, Dublin" 
    }, 

in meiner test.py Datei Ich habe

with open('data.json') as data_file:  
    data = json.load(data_file) 
    data["restaurant"]["name"] 
    print data 

Was soll ich tun, damit das Programm nur den Namen eines Restaurants bekommt?

Antwort

2

Einfach schreiben data["restaurant"]["name"] tut nicht tun nichts sinnvolles mit dem Wörterbuch noch, es sieht nur aus, gibt den Wert zurück und macht dann nichts damit. Insbesondere ändert sich nicht, was data betrifft. Wenn Sie das wollten, würden Sie schreiben müssen:

data = data["restaurant"]["name"] 

ich nicht empfehlen, dass, obwohl zu tun, weil Sie die Möglichkeit, den Zugriff auf alles, was in der json Struktur verlieren. Stattdessen nur den Wert drucken:

print data["restaurant"]["name"] 
+0

Dank, habe ich es einen Ort zum Anzeigen arbeiten, wenn ich ein zweites JSON-Objekt in die Datei und versucht, das Programm auszuführen, erhalte ich: raise Valueerror (errmsg ("extra-Daten", s, Ende, len (s))) meine aktuelle JSON-Datei ist: '{ "Restaurant": { "R": { "res_id": 9.101.083 }, "name": "Mein Fleisch-Lastwagen" } }, { "Restaurant": { "R": { "res_id": 9.101.628 }, "Name": "Wowburger" } } ' – Abdul

Verwandte Themen