Python 2.x Request JSON Le sujet est résolu

Tout ce qui concerne la programmation.
Répondre
Avatar de l’utilisateur
PengouinPdt
Contributeur
Contributeur
Messages : 1343
Inscription : 23 avr. 2016, 23:37
Localisation : 47/FR
Diaspora* : https://framasphere.org/u/hucste
Contact :
Status : Hors-ligne

Désolé les gars, je n'avais pas fait gaffe à cette section - pensant qu'elle n'existait pas ... du coup, j'ai posté sur .org ...

https://www.debian-fr.org/t/python-2-x- ... json/69630

Voilà, si vous pouviez m'aiguiller, quand même ce serait sympa ...
Cela fait plusieurs heures que j'essaye de trouver une solution, mais je tourne en rond car je n'en comprends pas la raison !
PengouinPdt { le seul, le vrai } ~ " Libre as a Pengouin "
- DIY - Debian Sid | Devuan Ceres
----
Ne réponds pas aux PM d'assistance
Avatar de l’utilisateur
vohu
Membre
Membre
Messages : 455
Inscription : 16 avr. 2016, 12:02
Localisation : Strasbourg
Status : Hors-ligne

Que donne un print(request.json()) ?

Si le ce qui s'affiche est bien ton json, il faut alors charger le json avec json.loads() il me semble :

Code : Tout sélectionner

python2.7
Python 2.7.9 (default, Mar  1 2015, 12:57:24) 
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import json
>>> f_json = '{"x": {"a": 1, "b": 2, "c": 3}, "y": 2, "z": 3}'
>>> _json = json.loads(f_json)
>>> print(_json["z"])
3
>>> print(_json["x"]["a"])
1
Avatar de l’utilisateur
PengouinPdt
Contributeur
Contributeur
Messages : 1343
Inscription : 23 avr. 2016, 23:37
Localisation : 47/FR
Diaspora* : https://framasphere.org/u/hucste
Contact :
Status : Hors-ligne

J'ai trouvé mon erreur ... ce n'est pas le retour de request.json() qui posait problème.
C'est juste plus haut ... dans le code, je vérifie le type de contenu retourné dans la requête, histoire de vérifier que c'est bien du json qui est envoyé ...

Pour exécuter, request.json(), je vérifiais que le type de contenu 'request.headers['Content-Type']' soit strictement égal à 'application/json' - or, la valeur de l'entête 'Content-Type' a actuellement pour contenu 'application/json;charset=UTF-8' - il ne faut plus que je fasse ma condition par une stricte comparaison mais plutôt que je vérifies que la chaîne de caractère 'application/json' fasse bien partie de la valeur contenue dans l'entête ctype ;)

Merci quand même !
PengouinPdt { le seul, le vrai } ~ " Libre as a Pengouin "
- DIY - Debian Sid | Devuan Ceres
----
Ne réponds pas aux PM d'assistance
Répondre