先把这次踩坑的结论放在最前面
1. Python 3已经将unicode作为默认编码
2. Python 3中的json在做dumps操作时,会将中文转换成unicode编码,并以16进制方式存储,再做逆向操作时,会将unicode编码转换回中文
这就解释了,为什么json.dumps操作后,得到的字符串是\uXXXX。
这里我只说解决办法,亲测在python3.6.3上有效!
1. 安装simplejson包(如何安装请自行百度)
2. 打开python3.6/site-package/django/http/response.py,将python3自带的json替换为simplejson,修改如下两处地方即可