JsonResponse对象

本文介绍了Django中如何使用JsonResponse进行数据序列化,以及JSON在前后端交互中的作用。示例展示了如何处理中文字符,并强调了序列化字典以外的数据类型时需要设置`safe=False`。此外,还探讨了Django内置的json模块替代方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JsonResponse对象

作用:序列化成json格式的数据
json格式的数据有什么作用:
	前后端数据交互需要使用用到json作为过渡,实现跨语言传输数据

# 补充:
    前端序列化:
    JSON.stringify()
    JSON.parse()

    后端序列化:
    json.dumps()
    json.loads()

引子:

# 使用json模块序列化

import json

def ab_json(request):
    user_dict = {'username':'gary我是张三','password':'123','hobby':'girl美女'}
    # 将字典序列化为json格式的字符串
  	json_str = json.dumps(user_dict)
    # 将序列化后的字符串返回
    return HttpResponse(json_str)

# 解决上述问题:
import json

def ab_json(request):
    user_dict = {'username':'gary我是张三','password':'123','hobby':'girl美女'}
    # 将字典序列化为json格式的字符串
  	json_str = json.dumps(user_dict,ensure_ascii=False)  # 将内置编码修改
    # 将序列化后的字符串返回
    return HttpResponse(json_str)

# django提供的模块

from django.http import JsonResponse
def ab_json(request):
    user_dict = {'username':'gary我是张三','password':'123','hobby':'girl美女'}

    return JsonResponse(user_dict)

# 解决上述问题
from django.http import JsonResponse
def ab_json(request):
    user_dict = {'username':'gary我是张三','password':'123','hobby':'girl美女'}
    return JsonResponse(user_dict, json_dumps_params={'ensure_ascii': False})

# 通过研究源码推到出

# 研究其他形式是否可以序列化:

from django.http import JsonResponse
def ab_json(request):
    l = [11,22,33,44,55]
   
    return JsonResponse(l)

from django.http import JsonResponse
def ab_json(request):
    l = [11,22,33,44,55]
   
    return JsonResponse(l,safe=False)
# 默认只能序列化字典 序列化其他需要加safe参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值