繁体   English   中英

通过Flask返回空的JSON

[英]return empty JSON by Flask

我有一个简单的函数,应该返回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"}]

但返回空括号[]

您可以使用flask模块的jsonify函数。

克里斯蒂安( Edit Chrisitian)是对的,我没有注意到您正在使用列表。 无论如何,这是我为解决这个问题而写的一个装饰器: Json decorator 希望这可以帮助。

我想这是因为happneing数据库光标(我不知道你用什么数据库框架。 sqlalchemy ?)在您的数据集的终点,当你想退货,因为你print()语句来已经在它遍历。 当您只注释掉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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM