Flask返回json格式数据

栏目: Python · 发布时间: 8年前

内容简介:Flask返回json格式数据

Flask返回json格式数据

返回 json 格式数据主要有两个方面:

1、数据转换为json格式
2、声明数据为json格式

一、数据转换为json格式

转换为 json 格式是必须的,如

from flask import Flask

app = Flask(__name__)


@app.route('/')
def root():
    t = {
        'a': 1,
        'b': 2,
        'c': [3, 4, 5]
    }
    return t

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

这样访问会直接提示

TypeError: 'dict' object is not callable

比较常见的是采用标准库 json 进行格式转换:

from flask import Flask
import json

app = Flask(__name__)


@app.route('/')
def root():
    t = {
        'a': 1,
        'b': 2,
        'c': [3, 4, 5]
    }
    return json.dumps(t)

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

这样当访问时即能够正常得到 json 数据

二、声明数据为json格式

上面虽然可以正常运行了,但对于 http 而言还是不够友好的,因为在 Content-Type 中显示的是 text/html ;即其 MIME 因为没有设置,仍然是默认的 text/html

通常的解决办法是用 flask 中的 Response 模块,手动指定 MIME

from flask import Flask, Response
import json

app = Flask(__name__)


@app.route('/')
def root():
    t = {
        'a': 1,
        'b': 2,
        'c': [3, 4, 5]
    }
    return Response(json.dumps(t), mimetype='application/json')

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

这样在访问时 Content-Type 就是 application/json 了。

###三、更好的方法

因为 json 这么流行,实际上 flask 已经为 json 准备了专门的模块:jsonify

from flask import Flask, jsonify

app = Flask(__name__)


@app.route('/')
def root():
    t = {
        'a': 1,
        'b': 2,
        'c': [3, 4, 5]
    }
    return jsonify(t)

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

以上所述就是小编给大家介绍的《Flask返回json格式数据》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Algorithms

Algorithms

Sanjoy Dasgupta、Christos H. Papadimitriou、Umesh Vazirani / McGraw-Hill Education / 2006-10-16 / GBP 30.99

This text, extensively class-tested over a decade at UC Berkeley and UC San Diego, explains the fundamentals of algorithms in a story line that makes the material enjoyable and easy to digest. Emphasi......一起来看看 《Algorithms》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

SHA 加密
SHA 加密

SHA 加密工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具