在開發 Django 網站時,常常需要使用 JSON 數據格式進行前后端數據交互。然而,JSON 中一些特殊字符如引號、“&” 等會被轉義,使得JSON在傳輸時失去了原本的結構和格式。那么,在 Django 中,如何處理 JSON 不轉義的問題呢?
在 Django 中,使用 JsonResponse 可以快速方便地將數據以 JSON 格式返回到前端。但是,默認情況下,JsonResponse 會對某些特殊字符進行轉義,比如引號和反斜杠。為了避免數據被轉義,我們可以通過引入 Python 內置的 json 庫來解決該問題。
import json from django.http import HttpResponse def my_view(request): my_dict = {'key': 'value'} my_json = json.dumps(my_dict, ensure_ascii=False) return HttpResponse(my_json, content_type='application/json')
以上代碼中,我們使用 json.dumps 方法將 Python 字典 my_dict 轉為 JSON 格式的字符串 my_json,并將其作為 HttpResponse 攜帶的內容發送給前端。此時我們注意在 json.dumps 方法中將 ensure_ascii 參數設為 False,這樣可以將非 ASCII 的字符保留原樣,不再被轉義,實現JSON不轉義。
總之,在 Django 中,我們可以利用 json.dumps 方法來處理 JSON 不轉義的問題。同時,也可以在 JsonResponse 中修改參數,阻止轉義。