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】,拉你进群,大家一起交流学习。
如果文章对您有帮助,请我喝杯咖啡吧!

公众号

公众号

赞赏码

关注我,我们一起成长~~

posted @ 2020-08-06 10:16  轻松学编程  阅读(895)  评论(0编辑  收藏  举报