TypeError: l'objet JSON doit être str, pas 'dict'
Désolé les gars, je n'ai pas trouvé la réponse satisfaisante à imprimer une partie de la réponse json. Quelqu'un peut-il m'aider s'il vous plaît ici:
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))
Réponse Json serait
{
"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
}
Maintenant, je voudrais parcourir et d'imprimer uniquement les "données": les valeurs. Je vais faire la suite de
data = json.loads(json_data)
data_set = (data['data'])
print(data_set)
Mais l'erreur Im obtenir: TypeError: l'objet JSON doit être str, pas 'dict'
vérifiez le type de
json_data
. Si c'est déjà un dict, puis ne pas json décoder...OriginalL'auteur Manoj Kengudelu | 2017-03-20
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas besoin de
json.loads(json_data)
que c'est déjà un python dict, vous avez juste besoin de la sortie de ce dict directement. Et outputing chaîne json à partir d'un dict estjson.dumps()
'emploi :OriginalL'auteur n00dl3
Fait
json()
méthode retourne un json objet,de sorte que vous n'avez pas besoin d'utiliserjson.loads
Ou vous pouvez utiliser
Voir plus de détails à partir de Le Contenu de la Réponse JSON.
OriginalL'auteur McGrady