2017-08-20 1 views
0

Ich bin völlig neu in Python. Ich habe diesen Code:Loop JSON Ergebnisse

import requests 

won = 'https://api.pipedrive.com/v1/deals?status=won&start=0&api_token=xxxx' 

json_data = requests.get(won).json() 

deal_name = json_data ['data'][0]['title'] 
print(deal_name) 

Er druckt den ersten Titel für mich, aber ich würde es eine Schleife durch alle Titel im json mögen. Aber ich kann nicht herausfinden, wie. Kann mich jemand in die richtige Richtung führen?

+0

Wissen Sie, wie im Allgemeinen in einer Schleife oder fragen Sie speziell, wie die json_data Schleife über ? –

+0

Ich habe viele Youtube-Videos auf for-Schleife, while-Schleifen usw. gesehen. Aber ich denke, es ist die Kombination von Loops und JSON, die mir eine harte Zeit bereitet :) – Brinaldo

+1

Wenn Sie dies tun: json_data = requests.get (gewonnen) .json(), was Sie tatsächlich bekommen, ist ein Wörterbuch. Sie sollten stattdessen diese lesen. –

Antwort

0

Sie möchten Wörterbücher und Listen lesen. Es scheint, wie Ihre json_data [ "Daten"] enthält eine Liste, so:

Sehen Sie diese schrieb:

deal_name = json_data ['data'][0]['title'] 
print(deal_name) 

für das, was Sie suchen:

for i in range(len(json_data["data"])): 
    print(json_data["data"][i]["title"]) 
0

drucken es mit einem for-Schleife 1. for item in json_data['data']: wird jedes Element in der Liste nehmen json_data['data'] 2. Dann drucken wir den Titel-Eigenschaft des Objekts mit der Linie print(item['title'])

Code:

import requests 
won = 'https://api.pipedrive.com/v1/deals?status=won&start=0&api_token=xxxx' 
json_data = requests.get(won).json() 
for item in json_data['data']: 
    print(item['title']) 

Wenn Sie mit dem Drucken der Titel als Liste ok sind Sie Listenkomprehension, entnehmen Sie bitte den Link in Referenzen um mehr zu erfahren können.

print([x['title'] for x in json_data['data']]) 

Referenzen:

  1. Python Loops
  2. Python Lists
  3. Python Comprehensions