2015-06-20 80 views
1

我开始使用瓶子。我试图返回从烧瓶应用中的一些JSON,我想从一个字典生成:Flask.json_encode,TypeError:__init __()得到了意想不到的关键字参数

我的代码如下所示:

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

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

+0

谢谢,我结束了返回jsonify(** resp) – user61629

相关问题