解决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源码

你可能感兴趣的:(解决JsonResponse返回为乱码)