解決JsonResponse返回中文亂碼的問題


 
        
#使用 HttpResponse 代替 JsonResponse 解決JsonResponse返回中文亂碼的問題
import json
from django.shortcuts import HttpResponse
from django.http import JsonResponse
from databases_models import models

def get(request):
publish_list = models.Publish.objects.all()
bs = MySer.PublishSerializer(publish_list, many=True)
#return JsonResponse(bs.data, safe=False, )
   return HttpResponse(json.dumps(bs.data,ensure_ascii=False),content_type='application/json')
# 當返回的中文是亂碼時,這時由於ascii碼的原因,JsonResponse()在初始化的時候使用了json.dumps()把字典轉換成了json格式
# ensure_asciifalse的時候,可以返回ASCII碼的值,否則就會被JSON轉義
# 所以含有中文的字典轉json字符串時,使用json.dumps()方法要把ensure_ascii參數修改成false
# content_type是指定MIME類型和編碼,這樣客戶端知道主體是什么類型的資源,才能調用相應的插件或內置的程序去處理


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM