如何将数据以JSON格式转储到Flask应用路由?

-1 投票
1 回答
2052 浏览
提问于 2025-04-19 10:24

我正在开发一个网页应用。我有一个Python脚本,它会收集一些数据,现在我想把这些数据转换成JSON格式,然后传递给Flask网页应用的一个路由,类似于这个路由 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

假设你已经安装了flask(可以通过命令pip install flask来安装),你可以用一个简单的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里(我这里用一个空列表[]作为示例),可以通过读取你存储结果的文件,或者进行你需要的计算来实现。

另外,建议把你的“数据收集脚本”单独运行,不要和flask服务器放在一起,特别是当这个脚本计算量大、运行慢,或者结果数据经常变化的时候:

  1. 如果你的收集脚本每次返回的结果都是一样的,可以考虑使用缓存。你可以用很多种方式来存储这些结果,但根据你的需求,每次运行时把结果保存到一个简单的文件里,然后通过flask提供这个文件的内容,可能就足够了。
  2. 如果结果数据非常大,你应该看看如何进行内容流式传输

撰写回答