django JsonResponse返回中文时显示unicode编码(\u67e5\u8be2)
django JsonResponse返回中文时显示unicode编码(\u67e5\u8be2)
关注公众号“轻松学编程”了解更多。
原因
这个unicode编码,是python3默认返回的编码。
解决方案
JsonResponse里面有个参数json_dumps_params,设置为json_dumps_params={‘ensure_ascii’:False}即可。
data = {'msg': '创建成功',}
return JsonResponse(data=data, json_dumps_params={'ensure_ascii': False})
字典json序列化与反序列
import json
a = {'hello world': '你好,世界'}
# dumps是序列化
c = json.dumps(a)
# loads是反序列化
print(json.loads(c))
输出:
{"hello world": "\u4f60\u597d\uff0c\u4e16\u754c"}
这是由于python3返回默认的是unicode编码,如果想显示中文可以增加一个参数ensure_ascii=False:
import json
a = {'hello world': '你好,世界'}
c = json.dumps(a, ensure_ascii=False)
#
print(json.loads(c))
输出:
{'hello world': '你好,世界'}
后记
【后记】为了让大家能够轻松学编程,我创建了一个公众号【轻松学编程】,里面有让你快速学会编程的文章,当然也有一些干货提高你的编程水平,也有一些编程项目适合做一些课程设计等课题。
也可加我微信【1257309054】,拉你进群,大家一起交流学习。
如果文章对您有帮助,请我喝杯咖啡吧!
公众号
关注我,我们一起成长~~