当在Django中使用JsonResponse时,前端接收到的却是这样的数据:
数据中不是正确的json格式,而只是json的字符串。并且带有 \ 转义字符。
代码如下:
def getSingerList(request):
url = "这是一个音乐接口地址"
res = requests.get(url, params=None, headers=headers)
return JsonResponse(res.text, safe=False,json_dumps_params={'ensure_ascii':False})
解决办法:
原因:requests返回的数据是一个字符串类型,而JsonResponse接收一个json对象,所以需要将字符串转化为json对象。此时前端接收到的数据就是json格式的数据,而不是一个长得像json的字符串。
将
JsonResponse(res.text, safe=False,json_dumps_params={'ensure_ascii':False})
改为:
def getSingerList(request):
url = "这是一个音乐接口地址"
res = requests.get(url, params=None, headers=headers)
return JsonResponse(json.loads(res.text), safe=False,json_dumps_params={'ensure_ascii':False})
解决之后效果图: