2016-10-07 2 views
-2

Ich brauche eine get (ID, Name, Fraktion id) für jeden Stellvertreter in diesem json zu machenBenötigen Sie einige Daten aus JSON lesen

{ 
    "id": "75785", 
    "title": "(за основу)", 
    "asozdUrl": null, 
    "datetime": "2011-12-21T12:20:26+0400", 
    "votes": [ 
     { 
      "deputy": { 
       "id": "99111772", 
       "name": "Абалаков Александр Николаевич", 
       "faction": { 
        "id": "72100004", 
        "title": "КПРФ" 
       } 
      }, 
      "result": "accept" 
     }, 
     { 
      "deputy": { 
       "id": "99100491", 
       "name": "Абдулатипов Рамазан Гаджимурадович", 
       "faction": { 
        "id": "72100024", 
        "title": "ЕР" 
       } 
      }, 
      "result": "none" 
     } 
    .......,` etc 

Mein Code ist sieht so aus:

urlData = "https://raw.githubusercontent.com/data-dumaGovRu/vote/master/poll/2011-12-21/75785.json" 
response = urllib.request.urlopen(urlData) 
content = response.read() 
data = json.loads(content.decode("utf8")) 
for i in data:  
    #print(data["name"]) 

` Und ich weiß nicht, was ich mit dieser #Print-Linie tun soll, wie soll ich es schreiben?

Antwort

3

Sie können auf die Liste mit den Stellvertretern mit data['votes'] zugreifen. Wenn Sie durch die Liste blättern, können Sie auf die Schlüssel zugreifen, an denen Sie interessiert sind, so wie Sie dies mit dict key lookups tun würden. Verschachtelte Diktate implizieren, dass Sie durch die Schlüssel gehen müssen, beginnend von der Wurzel bis zu Ihrem Punkt von Interesse:

for d in data['votes']: 
    print(d['deputy']['id'], d['deputy']['name'], d['deputy']['faction']['id']) 
Verwandte Themen