请求主体,
request.body是一个字节字符串。在Python
3中,
json.loads()将仅接受unipre字符串,因此您必须先进行解码,
request.body然后再将其传递给
json.loads()。
body_unipre = request.body.depre('utf-8')body_data = json.loads(body_unipre)
在Python 2中,
json.loads将接受unipre字符串或字节字符串,因此不需要解码步骤。
解码字符串时,我认为您可以假设’utf-8’是安全的-我找不到确切的来源,但是请参阅jQuery
docs的以下引文:
注意:W3C XMLHttpRequest规范规定该字符集始终为UTF-8。指定另一个字符集不会强制浏览器更改编码。
在Python
3.6中,
json.loads()接受bytes或bytearrays。因此,您不需要解码
request.body(假设它以UTF-8编码)。