解决JsonResponse返回为乱码

一、问题点

        通过JsonResponse返回的接口参数为{"code": 20000, "data": {"product_id": "1230337118523756544", "product_name": "\u54c11582178240", "\u66f4\u65b0\u6570\u636e\u884c\u6570": 1}},放在json.cn中又可以展示为中文:


json.cn解析

二、问题定位:
    django查询到的结果,用JsonResponse返回在页面上显示类似于\u54c ,注意这个不叫乱码,这个是unicode编码,python3默认返回的编码

三、解决问题

        1、无效的解决方案:

                在JsonResponse中加入charset="utf-8"

无效的解决方案

        2、有效的解决方案

                 在JsonResponse中加入json_dumps_params={'ensure_ascii':False}

                    

有效的解决方案

                    结果展示

结果

            注:

                JsonResponse 为HttpResponse的子类,所以要看源码的同学还是多研究下HttpResponse源码

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容