Flask.json_encode,TypeError:__ init __()得到了一个意外的关键字参数

时间:2015-06-20 17:00:18

标签: python flask

我开始使用烧瓶了。我正试图从一个烧瓶应用程序返回一些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': ''}

最后我得到了上面的错误。我该如何解决这个问题?

1 个答案:

答案 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编码。