2017-10-16 62 views
0

使用Python3的Tornado 4.5.2將請求主體表示爲字節對象而不是本地字典。這對像RequestHandler.get_body_argument()這樣的方法提出了一個問題,它將不能正確地訪問該字段。如何使用Tornado處理JSON主體w/python3

我的問題是如何正確地將龍捲風解析成更多可用的字典,以便標準庫可以工作。我瀏覽過龍捲風的文檔,甚至連這個問題的存在都沒有。

我在這裏錯過了什麼,或者我是否需要自己重新實現這些方法?

回答

2

龍捲風永遠不會自動分析JSON;它只會自動解析HTML標準的表單編碼(表單編碼和JSON的數據模型是不同的,因此用較不明確的JSON格式使用相同系列的get_argument/get_arguments方法是沒有意義的)。如果要處理JSON的請求,這是一條線,以自己分析它:

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

這個答案可能會有幫助:https://stackoverflow.com/a/40348861/122033 –