当前位置: 首页 > 面试题库 >

如何正确使用Flask的jsonify()返回json?

姬康平
2023-03-14
问题内容

我在使用flask.jsonify函数从字典输入中输出格式化的json响应时遇到了一些麻烦,如此处所述。

我的代码似乎正在返回Response对象,而不是我想要的格式化json对象。

我有

@app.route('/rparser', methods=['GET', 'POST'])
def rparser():
    form = ParserForm(request.form)
    if request.method=='POST':
        result = jsonify(**dict)
        return render_template('rparser.html', form=form, result=result)
    else:
        return render_template('rparser.html', form=form)

其中dict是从调用函数返回的字典对象。

在我的模板中,我有:

(form up here)

{% if result %}
    {{ result }}
{% endif %}

显示如下:

Response 135 bytes [200 OK]

我该如何返回我要寻找的json表示形式?


问题答案:

你可以像这样使用json.dumps:

@app.route('/')
def home():
return render_template(
    'index.html',
    title="Home Page",
    result=json.dumps({"a":[{"o":1},{"o":2}]}, sort_keys = False, indent = 2)
)

然后将其格式化为模板,如下所示:

{% if result %}
   <pre>{{ result }}</pre>
{% endif %}

如果这符合你的期望。我认为jsonify用于提供http.response数据,而不是模板的上下文数据。



 类似资料:
  • 在我的烧瓶应用程序中,我想将响应存储在MongoDB中。我想更改状态代码和响应数据,以防存储任务无法完成。如何更改响应对象的状态代码 这是用于Python3.6中开发的Flask应用程序 现在如果有异常,我收到状态代码200

  • 问题内容: 当前在对列表进行json时会引发错误。 我知道可能出于安全原因https://github.com/mitsuhiko/flask/issues/170,但是我仍然希望有一种返回JSON列表的方法,如下所示: 代替 在响应请求时。如何使用Jsonify在Flask中返回JSON列表? 问题答案: 出于安全原因,可以防止您在Flask 0.10及更低版本中执行此操作。 无论如何,只要在P

  • 问题内容: 在代码中 和功能get_info: 在更大的范围内 关于返回mysql数据并将其分配给变量,我缺少什么? =============根据Alex建议的新代码 ====正在使用新代码 然而 在函数外部的作用域中,parent_id为null 问题答案: 您将需要使用javascript进行异步调用和回调,这不是c#/ php等。 这是使用您的代码的示例: 当您依次调用此函数时,将调用co

  • 该文件不被命名为“test.xlsx”,而是被命名为“download”,并且不被识别为Excel文件。 任何帮助都很感激。

  • 响应请求时。如何使用jsonify在Flask中返回JSON列表?

  • 问题内容: 当前在对列表进行json时会引发错误。 我知道可能出于安全原因https://github.com/mitsuhiko/flask/issues/170,但是我仍然希望有一种返回JSON列表的方法,如下所示: 代替 在响应application/json请求时。如何使用Jsonify在Flask中返回JSON列表? 问题答案: 出于安全原因,可以防止你在Flask 0.10及更低版本中