Flask.json_encode,TypeError:__init __()得到了意想不到的关键字参数
问题描述:
我开始使用瓶子。我试图返回从烧瓶应用中的一些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': ''}
最后我得到上面的错误。我怎样才能解决这个问题?
答
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编码。
谢谢,我结束了返回jsonify(** resp) – user61629