如何JSON转储数据到Flask应用程序路由?

时间:2014-09-02 16:32:10

标签: python json flask

我正在开发一个webapp。我正在运行一个python脚本,它现在收集一些数据我希望json转储该数据并将其传递给Flask webapp路由。像这条路线http://127.0.0.1:5000/data

这样的东西

我知道如何在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 个答案:

答案 0 :(得分:0)

假设您已经安装了flask(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