python - 当你在flask中返回一个dict时,jsonify会自动应用吗?

标签 python json flask

看来这有效:

@app.route('/my/route/')
def my_route():
    return {
        'Something': True,
        'Else': None,
        'Thingy': 12345,
        'Blah': 'Blah'
    }

当我在浏览器中访问路由时,我得到如下有效的 JSON:

{
    "Something": true, 
    "Else": null, 
    "Thingy": 12345
    "Blah": "Blah", 
}

一切都转换为有效的 JSON,但我还没有看到任何支持这一点的文档。我什至没有导入 jsonify 模块。这样可以吗?

最佳答案

不,在 Flask 中返回字典不会自动应用 jsonify。事实上,Flask 路由无法返回字典。

代码:

from flask import Flask, render_template, json

app = Flask(__name__)

@app.route("/")
def index():
    return {
        'Something': True,
        'Else': None,
        'Thingy': 12345,
        'Blah': 'Blah'
    }

输出:

TypeError
TypeError: 'dict' object is not callable
The view function did not return a valid response. The return type must be a string, tuple, Response instance, or WSGI callable, but it was a dict.

屏幕截图:

showing error for returning dictionary

由于回溯表明路由的返回类型必须是字符串、元组、响应实例或可调用的 WSGI。

关于python - 当你在flask中返回一个dict时,jsonify会自动应用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57470020/

相关文章:

python - 如何在一行 python pandas 代码中应用 2 个不同的条件?

python如何构造这个类

python - 如何从进程或线程实例返回值?

javascript - 如何向此 getJson 添加 setinterval

java - Android 数组的空指针

python - 检查 2 个数组是否至少有一个共同元素?

javascript - 带有 JSON 嵌入数组的 Angularjs 表

python - 如何在 socket.io python 服务器中获取连接客户端的 session ID?

javascript - 如何在 Flask 中构造动态 javascript 创建?

python wtf AttributeError : 'ObjectIdField' object has no attribute 'help_text'