Python - Django - JsonResponse 对象

用 json 模块和 HttpResponse 返回生成的 json

views.py:

1
2
3
4
5
6
7
8
9
10
from django.shortcuts import render, HttpResponse
import json
 
# json 测试
def json_test(request):
    data = {"name": "Jack", "age": 18}
    hobby = ["Music", "Movie", "Basketball", "Reading"
    json_data = json.dumps(data)       # 把 data 序列化成 json 格式的字符串
    # json_data = json.dumps(hobby)  # 该方法也可以直接序列化列表
    return HttpResponse(json_data)

运行结果:

 

JsonResponse 是 HttpResponse 的子类,用来生成 json 编码的响应

views.py:

1
2
3
4
5
6
7
8
9
from django.shortcuts import render, HttpResponse
 
# json 测试
def json_test(request):
    data = {"name": "Jack", "age": 18}
    hobby = ["Music", "Movie", "Basketball", "Reading"]
    # 这里需要导入 HttpResponse
    from django.http import HttpResponse, JsonResponse
    return JsonResponse(data)

运行结果:

该方法不能直接对列表进行 json 序列化

需要加个 safe=False

1
2
3
4
5
6
7
8
9
from django.shortcuts import render, HttpResponse
 
# json 测试
def json_test(request):
    data = {"name": "Jack", "age": 18}
    hobby = ["Music", "Movie", "Basketball", "Reading"]
     
    from django.http import HttpResponse, JsonResponse
    return JsonResponse(hobby, safe=False)

运行结果:

 

posted @   Sch01aR#  阅读(1904)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示