2015-06-20 107 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

相關問題