簡體   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