23

使用 Flask 并只想打印一些 JSON 格式的数据,但我不断收到错误消息:

NameError:未定义全局名称“jsonify”

from flask import Flask
from flask import json
app = Flask(__name__)

@app.route("/")
def testJSON():
        x = "Test1"
        y = "Test2"
        return jsonify(a=x,z=y)

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

他们的文档说我要么需要安装 Python 2.6 要么需要安装 simplejson - 我两者都有。

Python 2.7.3:

sys.version '2.7.3(默认,2012 年 5 月 9 日,23:42:16)\n[GCC 4.4.3]'

简单的json:

root@Python:~/PythonScripts# pip install simplejson 要求已经满足(使用--upgrade 升级): /usr/local/lib/python2.7/site-packages 中的simplejson 清理...

4

2 回答 2

66

jsonify() 是一个包含在flask模块中的函数。

所以你需要导入它。
将脚本的开头更改为:

from flask import jsonify # <- `jsonify` instead of `json`
于 2012-05-23T20:39:54.480 回答
0

似乎 Jsonify 函数在导入烧瓶时默认包含,但现在当您编写时

import flask

它也不会导入 jsonify。您需要做的就是显式导入 jsonify

用这个。

import flask
from flask import jsonify

这将为您启用 jsonify 功能

现在,您可能正在使用烧瓶中的其他东西,这可能会一遍又一遍地发生在不同的事情上,所以您可能想要这样做,这将一次性导入 jsonify 和烧瓶的所有其他组件。

import flask
from flask import *
于 2021-06-20T09:38:42.640 回答