Flask 的 jsonify
Flask 框架里,可以用 jsonify
返回 json 数据,但是为什么不用 Python
自带的 json
模块返回 JSON 数据呢?
其实是一样
其实,jsonify
在处理数据过程中,对数据做 JSON 序列化处理时,用的是 itsdangerous
模块里的 JSON
真正区别
Content-Type 的差别
对比代码一jsonify:
## jsonify
import json
from flask import Flask, jsonifyapp = Flask(__name__)@app.route('/json')
def test_json():data = {'name': 'lili', 'age': 20}return jsonify(data)app.run(host="0.0.0.0", port=5000)
浏览器里输入http://127.0.0.1:5000/json, 得到的结果是
{"age":20,"name":"lili"}
对比代码二json:
## json
import json
from flask import Flask, jsonifyapp = Flask(__name__)@app.route('/json')
def test_json():data = {'name': 'lili', 'age': 20}return json.dumps(data)app.run(host="0.0.0.0", port=5000)
浏览器里输入http://127.0.0.1:5000/json, 得到的结果是
{"name": "lilei", "age": 30}
从内容上看,两种方法没有区别。
但是使用 jsonify
时,返回的 http response
的 Content-Type
是
Content-Type: application/json
而使用json.dumps时,Content-Type则是
Content-Type: text/html; charset=utf-8
既然返回的是 json 数据,那么自然要指明 Content-Type
是 application/json
, 这样做是符合 HTTP 协议的规定的,这就是使用 jsonify
的原因之一。
使用 jsonify
除了让返回的 `http response符合 HTTP 协议,同时也对数据做了压缩处理,让数据体积更小。
仔细比较上面两种方法返回的数据,虽然内容相同,但 jsonify
返回的数据,每个 key-value
对之间的逗号,和每个 key
与 value
之间的冒号后面都是没有空格的,而 json.dumps
返回的数据里,却在逗号和冒号后面存在空格,因此即便内容相同,jsonify
返回的数据体积更小,更节省流量。
其实,json.dumps
也可以将这些不必要的空格去掉,看下面的代码
import jsondata = {'name': 'lili', 'age': 20}print(json.dumps(data, separators=(',', ':')))
print(json.dumps(data))
输出结果为:
{"name":"lili","age":20}
{"name": "lili", "age": 20}
Flask 的 jsonify相关推荐
- Flask中 jsonify有什么作用?如何使用?
Flask中 jsonify有什么作用?如何使用? jsonify是Flask框架提供的一个函数,用于将Python对象转换为JSON格式的响应.它将Python对象转换为JSON格式的字符串,并将其 ...
- Flask中jsonify和json.dumps用法以及区别(简单案例)
环境:python3.6, Flask1.0.3 flask提供了jsonify函数供用户处理返回的序列化json数据, 而python自带的json库中也有dumps方法可以序列化json对象. ...
- 对 flask 的 jsonify 方法的理解
flask下面有个jsonify函数,函数的作用就是返回一个JSON类型的Response(一般用于把数据返回给前端) 要使用jsonify,首先你得要按下面一样引用一下: from flask im ...
- from flask import jsonify
from flask import jsonify jsonify是flask中的扩展包,可以将数据转换成json数据. 字典和json的区别是什么? json: (JavaScript Object ...
- flask中jsonify和json区别
一 JSON数据结构 要把json与字典区分开来 dumps(字典转换成Json) loads(Json转换成字典) Python 的字典是一种数据结构,JSON 是一种 ...
- python flask使用jsonify问题处理
报错 AttributeError: 'Request' object has no attribute 'is_xhr' 解决方法 1)查看jsonify原函数 def jsonify(*args, ...
- Python:Flask使用jsonify格式化时间
代码如下 # -*- coding: utf-8 -*- from datetime import datetime, datefrom flask.json import JSONEncodercl ...
- flask 的 jsonify 自动排序问题
背景 ·Python 在写接口的时候有时需要返回 json 格式的数据给客户端 ·最简单的方式就是用 flask 的 jsonify,能直接将字典格式化为 json 的形式进行传输 例如 from f ...
- Flask 的 jsonify 理解
文章目录 python 代码 解决 原因 Content-Type的区别 python 代码 # -*- coding:utf-8 -*- from flask import Flask, jsoni ...
最新文章
- [转载]内存分配 知识,全局,局部,静态变量
- linux mysql 5.6.14_CentOS 6.4下编译安装MySQL 5.6.14
- Python基础之赋值运算符
- 酷客多小程序DIY体系全面升级,还加入了这些新功能
- ad怎么批量改元器件封装_ad16如何批量添加封装库?
- 基于JSP的旅游网站系统
- matlab有限差分法求解温度场,动静压轴承油膜温升MATLABFLuENT有限差分法硕士论文...
- X波段卡塞格伦天线设计与仿真
- hp服务器时间修改,HP服务器bios时间设置确认
- H3C网络设备模拟器配置VLAN-Hybrid
- signature=3e113c2e337ada93de6227c65daceed1,Informed Consent: It Is More Than Just a Document
- xp系统计算机无线开关在哪,xp怎么设置无线网络?xp系统设置无线网络的方法
- js 按拼音 首字母 排序 并分组
- 矩池云 | Tony老师解读Kaggle Twitter情感分析案例
- linux程序间管道通信,linux进程间通信——管道 详解
- BT 面板控制命令 宝塔 Linux 常用命令收集整理
- 索引合并和组合索引的比较
- python中的bisect模块与二分查找
- CSDN 编程挑战 博弈游戏2 斐波那契
- Black-Lives-Matter-Resources
热门文章
- 途牛旅游项目-导航条(后端数据测试)
- vscode之 Couldn‘t find a tree builder with the features you requested: lxml. Do you need to install a
- CSP认证-现值计算、训练计划、JPEG 解码、聚集方差
- 流量卡之家:5G到来的前夕 为何4G网速越来越慢?
- canvas框架收集
- 计算机专业可以考事业单位a类吗,事业单位A类考什么?
- APPYING独家:《复仇的小猪》的运营成长之路
- python画环形图_Python通过matplotlib画双层饼图及环形图简单示例
- C++ string类(包括深浅拷贝)
- 利用Cocos2d-x写一个程序读取传奇wzl文件