Flask,如何仅在 return 到浏览器时才进行 jsonify

Flask, how to jsonify ONLY when return to browser

我尝试用 Flask 构建一个 RESTful api 服务器,并创建一些可以 return JSON 格式化数据到浏览器的函数。

现在希望能把代码复用性更强,例如:

@simple_page.route('/raw_data')
def raw_data():
    # to json
    pass


@simple_page.route('/score')
def score():
    data = raw_data()
    # some calculation & return the score (to json)
    pass

如果 Flask 中有什么方法可以将函数 raw_data() returns json 格式化结果 if and only if 结果发送回浏览器? (类似于 @cherrypy.tools.json_out() 在 cherrypy 中的作用)

提前致谢。

raw_data() 分解为一个 单独的 函数,由两条路径重用:

def _produce_raw_data():
    return raw_data

@simple_page.route('/raw_data')
def raw_data():
    return jsonify(_produce_raw_data())


@simple_page.route('/score')
def score():
    data = _produce_raw_data()
    # some calculation & return the score (to json)
    return jsonify(calculation_results)