2017-10-16 8 views
0

Tornado 4.5.2 en utilisant Python3 représente le corps de la requête comme un objet octet au lieu d'un dictionnaire natif. Cela pose un problème pour des méthodes telles que RequestHandler.get_body_argument() qui n'accèderont pas correctement au champ.Comment gérer le corps JSON en utilisant Tornado w/python3

Ma question est comment correctement tornado parse ces corps dans plus de dictionnaires utilisables ainsi la bibliothèque standard fonctionnera. J'ai regardé toute la documentation de tornado et il n'y a pratiquement rien sur l'existence même de ce problème.

Ai-je raté quelque chose ici ou aurai-je besoin de ré-implémenter ces méthodes moi-même? Tornado n'analyse jamais automatiquement JSON;

Répondre

2

il ne fait qu'analyser automatiquement le codage de formulaire HTML standard (les modèles de données de codage de formulaire et JSON sont différents, il ne serait donc pas logique d'utiliser la même famille de méthodes get_argument/get_arguments dans le format JSON moins ambigu). Si vous voulez traiter les demandes JSON, il est une ligne pour analyser vous-même:

args = tornado.escape.json_decode(self.request.body) 
+0

Cette réponse pourrait être utile: https://stackoverflow.com/a/40348861/122033 –