Flask中jsonify和json.dumps用法以及区别(简单案例)[通俗易懂]

Flask中jsonify和json.dumps用法以及区别(简单案例)[通俗易懂]环境:python3.6,Flask1.0.3flask提供了jsonify函数供用户处理返回的序列化json数据,而python自带的json库中也有dumps方法可以序列化json对象.其二者的区别,写个简单的案例实测一下便见分晓。fromflaskimportFlaskfromflaskimportjsonifyimportjsonapp=F…

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

环境:python3.6,  Flask1.0.3

 

flask提供了jsonify函数供用户处理返回的序列化json数据,

而python自带的json库中也有dumps方法可以序列化json对象.

其二者的区别,写个简单的案例实测一下便见分晓。

from flask import Flask
from flask import jsonify
import json

app=Flask(__name__)
app.config['JSON_AS_ASCII'] = False

# 随便定义个json字典
dic={"a":1,"b":2,"c":"你好"}
@app.route('/jsonify')
def jsonifys():
    # Content-Type: application/json
    return jsonify(dic)

@app.route('/jsondumps')
def jsondumps():
    # Content-Type: text/html; charset=utf-8
    return json.dumps(dic,ensure_ascii=False)

if __name__ == '__main__':
    app.run(debug=True)

1.我们先访问 http://127.0.0.1:5000/jsonify 地址查看jsonify返回的json内容如下

Flask中jsonify和json.dumps用法以及区别(简单案例)[通俗易懂]

检查页面属性看Response内容:

Flask中jsonify和json.dumps用法以及区别(简单案例)[通俗易懂]

 

2.再访问另一个地址 http://127.0.0.1:5000/jsondumps 查看返回的json内容如下

Flask中jsonify和json.dumps用法以及区别(简单案例)[通俗易懂]

检查页面属性看Response内容:

Flask中jsonify和json.dumps用法以及区别(简单案例)[通俗易懂]

 

使用jsonify时响应的Content-Type字段值为application/json,

而使用json.dumps时该字段值为text/html。

 

ps:

使用jsonify方法是需要添加一句 app.config[‘JSON_AS_ASCII’] = False

而json.dumps方法需要添加参数 ensure_ascii=False

这样做可以避免显示中文乱码。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/142355.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • voliate理解

    voliate理解voliatevoliate定义java编程语言允许线程访问共享变量,为了确保共享变量能被准确和一致的更新,线程应该确保通过排他锁单独获得这个变量。Java语言提供了volatile,在某些情况下比锁更加方便。如果一个字段被声明成volatile,java线程内存模型确保所有线程看到这个变量的值是一致的。volatile可以保证线程可见性且提供了一定的有序性,但是无法保证原子性。在JVM…

  • 5分钟轻松学正则表达式

    5分钟轻松学正则表达式

    2020年11月20日
  • 视频监控中NVR录像机NTP校时配置(京准)

    视频监控中NVR录像机NTP校时配置(京准)NTP校时通过设置NTP服务器地址、NTP端口号和校时时间间隔,设备即按照设置每隔一段时间校时一次。NVR3.0界面路径:主菜单—系统配置—网络配置——NTP海康威视iVMS-4200校时、手动校时、定位校时、NTP校时四种方法任你选NVR4.0界面路径:系统管理—网络配置—基本配置—NTP注意:NTP校时,需要设备接入外网或者在局域网中有NTP软件组建NTP服务器。定位校时…

  • rpm 完全卸载mysql

    rpm 完全卸载mysql一、查看当前mysql安装情况:rpm-qa|grep-imysql二、删除之前安装的mysqlrpm-evmysql-community-libs-8.0.11-1.el7.x86_64如果报依赖错误,就使用下面的命令rpm-evmysql-community-libs-compat-8.0.11-1.el7.x86_64–nodeps三、查找之前mysql的目录,都删掉fin…

  • Idea激活码永久有效Idea2019.3.4激活码教程-持续更新,一步到位

    Idea激活码永久有效Idea2019.3.4激活码教程-持续更新,一步到位Idea激活码永久有效2019.3.4激活码教程-Windows版永久激活-持续更新,Idea激活码2019.3.4成功激活

  • MySQL、MongoDB、Redis 数据库之间的区别

    MySQL、MongoDB、Redis 数据库之间的区别

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号