我有一个让我发疯的问题。我有一个函数,我在我正在Flask中构建的API中运行。我根据发生的某些事情返回JSON值。我将向您展示四行代码,因为其余部分在这里并不重要:
print 'example' not in json_string
return jsonify({'error': 'Error entering user.'})
if 'example' not in json_string:
return jsonify({'error': 'Error entering user.'})
所以基本上我第一次运行它并打印True
返回:
{'error': 'Error entering user.'}
然后我评论首先返回并验证if语句并返回:
{}
世界上到底发生了什么?我已经复制了完全相同的行,但在IF语句后它不会返回一个值。它确实返回一个空集,但不返回任何内容。
对我毫无意义。有任何想法吗?谢谢!
更新
在第二个例子中,如果我在返回之前打印它,我会得到<Response 55 bytes [200 OK]>
所以那里有东西。为什么不回来?
答案 0 :(得分:0)
您在打印时收到响应 - <Response 55 bytes [200 OK]>
,因为jsonify返回一个响应对象,其头部理想地适用于broswers和API调用。
如果需要在脚本中查看或使用有效负载/数据,请使用json.dumps或在响应对象上调用data属性。例如。
return jsonify({'error': 'Error entering user.'}).data