return 清空 JSON 来自 Flask
return empty JSON by Flask
我有一个简单的功能,应该returns 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
print(dumps(cursor)) 显示
[{"current": "11", "date": "12.12.2001", "_id": {"$oid": "551c7b642349c517f5fa5223"}, "name": "xaxa", "voltage": "34"}]
但 returns 空括号 []
您可以使用 flask 模块中的 jsonify 函数。
编辑
克里斯蒂安是对的,我没有注意到你在使用列表。无论如何,这是我专门为解决这个问题而编写的装饰器:Json decorator。希望这有帮助。
我猜这是因为你的数据库游标(我不知道你使用的是什么数据库框架。sqlalchemy
?)在你想要 return 时指向数据集的末尾,因为你的 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
我有一个简单的功能,应该returns 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
print(dumps(cursor)) 显示
[{"current": "11", "date": "12.12.2001", "_id": {"$oid": "551c7b642349c517f5fa5223"}, "name": "xaxa", "voltage": "34"}]
但 returns 空括号 []
您可以使用 flask 模块中的 jsonify 函数。
编辑 克里斯蒂安是对的,我没有注意到你在使用列表。无论如何,这是我专门为解决这个问题而编写的装饰器:Json decorator。希望这有帮助。
我猜这是因为你的数据库游标(我不知道你使用的是什么数据库框架。sqlalchemy
?)在你想要 return 时指向数据集的末尾,因为你的 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