2014-09-02 27 views
-1

我正在開發一個web應用程序。我正在運行一個python腳本,它現在收集了一些數據,我希望json轉儲該數據並將其傳遞給Flask webapp路由。像這樣的路線http://127.0.0.1:5000/data如何將JSON數據轉儲到Flask應用程序路線?

我知道如何在python JSON轉儲,但我是新的Flask。我想使用json.dump而不是jsonify。我猜想像

@app.route('/data', methods=['POST']) 
def data(): 
    #some way to get the data and return it to the page 

。我無法從下面給出的鏈接中瞭解很多。

請告訴我該怎麼做。

+1

(http://stackoverflow.com/q/13081532),[JSON [如何使用瓶Web框架返回JSON。 dumps vs flask.jsonify](http://stackoverflow.com/q/7907596),http://flask.pocoo.org/docs/0.10/patterns/jquery/#json-view-functions,http:// flask .pocoo.org/docs/0.10/api /#module-flask.json – 2014-09-02 16:37:43

+0

[如何使用Flask Web框架返回json](http://stackoverflow.com/questions/13081532/how-to-return- json-using-flask-web-framework) – codegeek 2014-09-02 17:44:25

回答

0

假設你已經安裝了瓶(pip install flask),你可以達到你想要用一個簡單的燒瓶服務器的應用程序是什麼,在這裏引用爲server.py

from flask import Flask, jsonify 
    app = Flask(__name__) 

    @app.route("/data") 
    def data_route(): 
     collected_data = [] # Your data 
     return jsonify(results=collected_data) 

    if __name__ == "__main__": 
     app.run() 

您應該將數據加載到collected_data(我使用一個空列表[]只是一個例子),通過讀取存儲結果的文件或通過執行所需的任何計算。

另外,還要考慮讓你的「數據採集腳本」從燒瓶服務器單獨運行,特別是如果它是計算昂貴,速度慢,或者得到的數據不改變所有的時間:

  1. 如果您收藏腳本一遍又一遍地返回相同的結果,請考慮緩存它。您可以以多種方式存儲它,但根據您的需要,每次運行時將結果轉儲到一個簡單的文件,並通過燒瓶提供文件內容可能就足夠了。
  2. 如果得到的數據是非常大的,你應該看看how to stream content
+0

任何方式與json.dumps()? – anonghost 2014-09-02 17:30:21

+0

我不明白你爲什麼要使用它,因爲它已經設置了響應類型,但是,是的,而不是'return jsonify(results = collected_data)''你可以'從瓶子導入Response'並使用'return Response(json .dumps(collected_data),mimetype ='application/json')'。 – rhlobo 2014-09-03 13:29:36

相關問題