Jsonify Return返回空

时间:2016-07-10 06:55:36

标签: python json flask

我有一个让我发疯的问题。我有一个函数,我在我正在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]>所以那里有东西。为什么不回来?

1 个答案:

答案 0 :(得分:0)

您在打印时收到响应 - <Response 55 bytes [200 OK]>,因为jsonify返回一个响应对象,其头部理想地适用于broswers和API调用。

如果需要在脚本中查看或使用有效负载/数据,请使用json.dumps或在响应对象上调用data属性。例如。

return jsonify({'error': 'Error entering user.'}).data