Ich versuche, das folgende Skript zu verwenden, um eine API-Abfrage auszuführen, die JSON ausgibt. Ich wiederhole den JSON, um das bestimmte Feld (Name) aller JSON-Objekte zu drucken. Meine Skripte drucken alle Elemente (Name, Klassifizierung, Details usw.) und nicht den Wert.Python iterieren Daten über JSON
Script:
import requests
import json
query_url = 'https://IP-address/api/request'
data = {"query":"days>50", "type":"json", "size":3}
response = requests.post(query_url, json=data, verify=False)
json_data = json.loads(response.text)
for name in json_data[0]:
print (name)
JSON:
[
{
"name": "Android",
"classification": "public",
"detail": "Tag1, Tag2, Tag3",
"days": 70,
"date_last": "2017-07-21 05:48:07 AM"
},
{
"name": "iPhone",
"classification": "public",
"detail": "Tag4, Tag5, Tag6",
"days": 75,
"date_last": "2017-07-21 05:48:07 AM"
},
{
"name": "Microsoft",
"classification": "public",
"detail": "Tag3, Tag8, Tag9",
"days": 90,
"date_last": "2017-07-21 05:48:07 AM"
}
]
' für Namen in json_data [0] 'bedeutet nicht, dass Sie das Feld "Name" erhalten, können Sie rufen Sie einfach "name" jedes Element json_data [0] hat –
Tun Sie dies einfach 'für Name, Wert in json_data [0] .items(): print (Name +" "+ Wert)' –
Wenn er nur das Namensfeld will , Ich denke, er sollte einen 'if name == "name": 'statement direkt nach dem for hinzufügen, oder? –