首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Flask 的 jsonify 理解[通俗易懂]

Flask 的 jsonify 理解[通俗易懂]

作者头像
全栈程序员站长
发布于 2022-08-25 03:16:37
发布于 2022-08-25 03:16:37
49800
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

文章目录

python 代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# -*- coding:utf-8 -*-
from flask import Flask, jsonify

app = Flask(__name__)

urls = [
    { 
   
        'id': 1,
        'title': 'python',
        'description': 'https://www.python.org/'
    },
    { 
   
        'id': 2,
        'title': 'flask',
        'description': 'https://flask.palletsprojects.com/en/1.1.x/'
    }
]


@app.route('/api/urls', methods=['GET'])
def get_tasks():
    return jsonify({ 
   'urls': urls})


if __name__ == '__main__':
    app.run(debug=True)
  • 问题:Flask 框架里,可以使用 jsonify 返回 json 数据,但是为什么不使用 Python 自带的 json 模块返回 JSON 数据呢?

解决

  • jsonify 在处理数据过程中,对数据做 JSON 序列化处理时,用的是 itsdangerous 模块里的 JSON ,通过源代码可以看出,基本是一样的。
  • flask 框架引入过程代码:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from itsdangerous import json as _json
  • 首先会尝试引入simplejson,如果没有安装这个模块,则引入 Python 原生模块json。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
try:
    import simplejson as json
except ImportError:
    import json

原因

  • jsonify存在的有意义是Content-Type的不一样。

Content-Type的区别

  1. 使用jsonify序列化。
  • 如本篇的开篇代码:
  1. 使用json模块序列化
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# -*- coding:utf-8 -*-
from flask import Flask
import json

app = Flask(__name__)

urls = [
    { 
   
        'id': 1,
        'title': 'python',
        'description': 'https://www.python.org/'
    },
    { 
   
        'id': 2,
        'title': 'flask',
        'description': 'https://flask.palletsprojects.com/en/1.1.x/'
    }
]


@app.route('/api/urls', methods=['GET'])
def get_tasks():
    return json.dumps({ 
   'urls': urls})


if __name__ == '__main__':
    app.run(debug=True)
  • 总结:接口既然返回的是 json 数据,那么自然要指明 Content-Type 是 application/json , 这样做是符合 HTTP 协议的规定的,这就是使用 jsonify 的原因之一 。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/142187.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Flask 的 jsonify解析
通过请求 http://localhost:8888/api/v1.0/tasks 发现返回json数据,那为啥不用python自带的json模块返回json数据呢?
全栈程序员站长
2022/08/31
4110
Flask 小笔记
Here we list the basic functionality of flasj.
杨丝儿
2022/02/25
2040
【DeepSeek 私有化】数据安全无忧:手把手教你部署 DeepSeek 并构建私有 API
本文旨在指导企业和个人开发者如何在私有服务器上部署 DeepSeek,并通过 Flask 或 FastAPI 封装 API,以避免云端依赖并确保数据安全。我们将详细介绍部署步骤,并提供完整的代码示例。
Swift社区
2025/02/11
1.9K4
【DeepSeek 私有化】数据安全无忧:手把手教你部署 DeepSeek 并构建私有 API
从 Flask 切到 FastAPI 后,起飞了!
本文翻译自 Moving from Flask to FastAPI, 作者:Amal Shaji
Python编程与实战
2024/03/04
2.1K0
从 Flask 切到 FastAPI 后,起飞了!
flask中jsonify和json区别[通俗易懂]
要把json与字典区分开来 dumps(字典转换成Json) loads(Json转换成字典)
全栈程序员站长
2022/08/31
4.3K0
flask中jsonify和json区别[通俗易懂]
Flask—jsonify方式(api接口)「建议收藏」
http://127.0.0.1:5632/blog/api/articles输出如下:
全栈程序员站长
2022/08/25
6250
Flask—jsonify方式(api接口)「建议收藏」
Flask一分钟Mock一个API
本文介绍了如何使用Flask在一分钟内Mock一个API,只需要一个文件,一段代码,一条命令,即可完成。然后分别介绍了常用的GET请求和POST请求,以及带不带参数,获取请求头的用法。在测试时用到了curl命令,它的名字是Client URL的意思,在Mac和Windows都可以安装使用。
dongfanger
2021/07/01
9510
Flask中jsonify和json.dumps用法以及区别(简单案例)[通俗易懂]
使用jsonify时响应的Content-Type字段值为application/json,
全栈程序员站长
2022/08/25
6330
Flask中jsonify和json.dumps用法以及区别(简单案例)[通俗易懂]
Flask 学习-6. jsonify()返回JSON格式数据
前言 JSON 格式的响应是常见的,用 Flask 写这样的 API 是很容易上手的。如果从视图 返回一个 dict ,那么它会被转换为一个 JSON 响应。 返回JSON 格式 如果从视图 返回一个 dict ,那么它会被转换为一个 JSON 响应。 from flask import Flask from flask import render_template from flask import request app = Flask(__name__) @app.route('/json', me
上海-悠悠
2022/08/29
1.8K0
Flask框架(一)
Flask是一个python编写的web微框架,使用flask我们可以使用python快速实现一个网站或web服务。
GH
2020/03/19
7420
Flask 学习-88. jsonify() 函数源码解读深入学习
flask 有个jsonify() 函数,如果返回的是一个字典,那么调用 jsonify 创建一个响应对象。
上海-悠悠
2023/01/03
1K0
在flask中使用jsonify和json.dumps的区别
flask提供了jsonify函数供用户处理返回的序列化json数据,而python自带的json库中也有dumps方法可以序列化json对象,那么在flask的视图函数中return它们会有什么不同之处呢?想必开始很多人和我一样搞不清楚,只知道既然框架提供了方法就用,肯定不会错。但作为开发人员,我们需要弄清楚开发过程中各种实现方式的特点和区别,这样在我们面对不同的需求时才能做出相对合理的选择,而不是千篇一律地使用自己熟悉的。下面我就jsonify和json.dumps的区别这一问题简单探讨一下。
全栈程序员站长
2022/08/31
7470
在flask中使用jsonify和json.dumps的区别
flask 教程_python flask快速入门与进阶
Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,开发人员分工合作,小型团队在短时间内就可以完成功能丰富的中小型网站或Web服务的实现。另外,Flask还有很强的定制性,用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。
全栈程序员站长
2022/09/20
2.5K0
搭建flask web框架及应用
根据自己所需要的环境,可前往官网进行下载python,https://www.python.org/downloads/
大家一起学编程
2021/03/29
6130
flask中的jsonify「建议收藏」
上面的dumps实际上是调用了itsdangerous 库json.dumps函数而已:
全栈程序员站长
2022/08/31
3600
jsonify
flask提供了jsonify函数供用户处理返回的序列化json数据,而python自带的json库中也有dumps方法可以序列化json对象,那么在flask的视图函数中return它们会有什么不同之处呢?想必开始很多人和我一样搞不清楚,只知道既然框架提供了方法就用,肯定不会错。但作为开发人员,我们需要弄清楚开发过程中各种实现方式的特点和区别,这样在我们面对不同的需求时才能做出相对合理的选择,而不是千篇一律地使用自己熟悉的。下面我就jsonify和json.dumps的区别这一问题简单探讨一下。
全栈程序员站长
2022/08/25
6150
jsonify
Flask请求和响应对象(二)
Flask中的响应对象用于返回给客户端的数据。响应对象可以是字符串、JSON、HTML页面、文件等。我们可以从Flask中导入'response'模块来创建响应对象。响应对象包含的常见方法和属性如下:
堕落飞鸟
2023/05/05
7781
Flask 学习-27.flask_jwt_extended插件学习current_user的使用
前言 flask_jwt_extended 最基本的使用只需要掌握三个函数: create_access_token() 用来创建 Token 令牌 get_jwt_identity() 用来根据令牌取得之前的 identity 信息 jwt_required() 这是一个装饰器,用来保护 flask 节点 简单示例 以下是官方文档给的简单示例https://flask-jwt-extended.readthedocs.io/en/latest/basic_usage/ from flask import
上海-悠悠
2022/09/06
1.5K0
Python Flask,Json,返回Json数据,jsonify
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/142981.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/31
2.3K0
Python构建RESTful API指南
在当今的软件开发中,构建RESTful API已经成为了一种常见的做法,因为它们提供了一种简单而灵活的方式来实现客户端和服务器之间的通信。Python作为一种流行的编程语言,拥有丰富的库和框架来支持RESTful API的构建。本文将介绍使用Python构建RESTful API的最佳实践,包括选择合适的框架、设计良好的API结构以及处理常见的问题。
一键难忘
2024/04/29
9380
相关推荐
Flask 的 jsonify解析
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档