在flask中使用jsonify和json.dumps的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在flask中使用jsonify和json.dumps的区别相关的知识,希望对你有一定的参考价值。

参考技术A load和loads都是实现“反序列化”,区别在于(以Python为例):
loads针对内存对象,即将Python内置数据序列化为字串
如使用json.dumps序列化的对象d_json=json.dumps('a':1, 'b':2),在这里d_json是一个字串'"b": 2, "a": 1'

d=json.loads(d_json) # b": 2, "a": 1,使用load重新反序列化为dict
load针对文件句柄
如本地有一个json文件a.json则可以d=json.load(open('a.json'))
相应的,dump就是将内置类型序列化为json对象后写入文件本回答被提问者采纳

Flask 中字典数据返回(jsonify)

 不多说,直接上代码,flask中的字典数据的处理:

from flask import Flask, jsonify

app = Flask(__name__, static_folder="statics")

# flask版本在1.1.1之前必须使用jsonify返回字典型数据
@app.route("/index1")
def index1():
    return jsonify({"name": "annie", "age": 12})

# 在1.1.1之后可以直接返回字典型数据,版本向下兼容,也可以使用jsonify
@app.route("/index2")
def index2():
    return {"name": "annie", "age": 12}

if __name__ == __main__:
    app.run()

以上是关于在flask中使用jsonify和json.dumps的区别的主要内容,如果未能解决你的问题,请参考以下文章

PyMongo 和 Flask 的 Jsonify 包含转义斜线

如何在 Flask 中“jsonify”一个列表? [复制]

jsonify Flask中的SQLAlchemy结果集[重复]

为啥flask的jsonify方法很慢?

防止 Flask jsonify 对数据进行排序

将用户构建的 json 编码器传递到 Flask 的 jsonify