我有一个简单的函数,它应该返回JSON。
@app.route('/storage/experiments', methods=['GET'])
def get_experiments():
if not request.json:
abort(400)
experiments = db['experiments']
cursor = experiments.find(request.get_json())
print(dumps(cursor))
resp = Response(response=dumps(cursor),
status=200, \
mimetype="application/json")
return resp打印(转储(游标))显示
[{"current": "11", "date": "12.12.2001", "_id": {"$oid": "551c7b642349c517f5fa5223"}, "name": "xaxa", "voltage": "34"}]
但返回空括号[]
发布于 2015-04-05 12:45:26
我想这是因为您的数据库游标(我不知道您使用的是什么数据库框架)而发生的。sqlalchemy?)当您想要返回数据集时,指向数据集的末尾,因为您的print()-statement已经在对它进行迭代。当您只注释掉print()语句时,它应该与此代码一起工作,因为我看不到这段代码中有任何其他错误:
@app.route('/storage/experiments', methods=['GET'])
def get_experiments():
if not request.json:
abort(400)
experiments = db['experiments']
cursor = experiments.find(request.get_json())
#print(dumps(cursor))
resp = Response(response=dumps(cursor),
status=200, \
mimetype="application/json")
return resp发布于 2015-04-05 11:31:08
您可以使用来自烧瓶模块的jsonify函数。
编辑克里斯蒂是对的,我没有注意到你在使用一个列表。无论如何,这是我为解决这个问题而编写的一个装饰器:Json装饰师。希望这能有所帮助。
https://stackoverflow.com/questions/29452875
复制相似问题