我开始使用烧瓶了。我正试图从一个烧瓶应用程序返回一些json,我想从字典中生成:
我的代码如下:
resp = views.calculate(d)
print type(resp)
print resp
return Flask.json_encoder(**resp)
输出:
<type 'dict'>
{'target1': 'DOES NOT EXIST', 'stage': 0, 'token': u'fsdfsdf', 'target2': 'DOES NOT EXIST', 'text': ''}
最后我得到了上面的错误。我该如何解决这个问题?
答案 0 :(得分:1)
Flask.json_encoder
是用于编码JSON的类。它不接受关键字参数,也不会直接调用它生成JSON。
要使用JSON编码数据生成响应,请改用flask.jsonify()
:
from flask import jsonify
return jsonify(**resp)
如果您只需要JSON字符串,请使用flask.json.dumps()
here,传入字典(而不是关键字参数):
from flask import json
return json.dumps(resp)
在这两种情况下,Flask.json_encoder
引用的类(通过app
实例)将用于生成JSON编码。