Sorry Jungs, ich konnte die befriedigende Antwort nicht finden, um einen Teil der Antwort von Json zu drucken. Kann mir hier bitte jemand helfen:
import json
import requests
import pprint
response = requests.get('<api endpoing>')
json_data = response.json()
print(json.dumps(json_data, indent=4, sort_keys=True))
Json Antwort wäre
{
"Value1": "SomeValue",
"data": {
"subval1": false,
"subval2": "0a4",
"subval3": "",
"subval4": "Click h!",
"subval5": "1002",
"subval6": "932",
"subval7": "i2",
"subval8": 250,
"subval9": 0,
"subval10": 1,
"subval11": 3,
"subval12": 1,
"subval13": "<!>",
"subval14": "",
"subval15": "Click !!",
"subval16": "",
"subval17": 300
},
"error": true,
"message": "Success",
"status": 200
}
Nun möchte ich nur die "data": Werte durchqueren und drucken. Ich werde folgendes tun
data = json.loads(json_data)
data_set = (data['data'])
print(data_set)
Aber der Fehler Im bekommen: TypeError: das JSON-Objekt muss str sein, nicht 'dict'
Sie brauchen nicht json.loads(json_data)
, da es bereits ein Python-Dikt ist. Sie müssen dieses Dikt nur direkt ausgeben. Die Ausgabe eines Json-Strings aus einem Dict ist json.dumps()
s Aufgabe:
json.dumps(json_data["data"])
Die json()
-Methode gibt tatsächlich ein json -Objekt zurück, sodass Sie json.loads
nicht verwenden müssen.
Oder du kannst verwenden
r=requests.get("")
print json.loads(r.content)
Weitere Details finden Sie unter JSON Response Content .