You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django视图合并字典后,Rest API返回JSON含\n字符问题求助

解决Django REST API返回JSON出现\n转义字符的问题

你的问题出在手动使用json.dumps()序列化字典后再传给Response,Django REST Framework(DRF)的Response类本身会自动处理Python对象到JSON的序列化,这就导致了二次转义,最终返回的响应里出现了\n这类换行符的转义序列。

修正后的代码

直接将合并后的字典传入Response即可,无需手动调用json.dumps():

@api_view(['GET'])
def json_test(request):
    dict1 = {'a': 1, 'b': 2}
    dict2 = {'b': 3, 'c': 4}
    merged_dict = {**dict1, **dict2}
    # 直接传递Python字典,DRF自动完成正确的JSON序列化
    return Response(merged_dict)

说明

  • 修正后,Postman收到的响应会是标准的JSON格式:{"a":1,"b":3,"c":4}(注意b的值为3,因为dict2的键值对覆盖了dict1中的同名键)。
  • 如果你希望JSON有空格分隔的排版(如你示例中的{ "a":1, "b":3, "c":4 }),DRF默认的JSON渲染器会输出紧凑格式,若要自定义缩进格式,可以在项目的settings.py中配置:
REST_FRAMEWORK = {
    'JSON_RENDERER_CLASS': 'rest_framework.renderers.JSONRenderer',
    'JSON_INDENT': 2  # 设置缩进为2个空格,输出带换行的格式化JSON,但Postman会自动识别并美化显示
}

内容的提问来源于stack exchange,提问作者SSS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 04:03:11