Flask:是否可以将 return 设置为 JSON 响应

Flask: Is it possible to return a set as a JSON response

在使用 Flask 的同时,可以 return 一组作为来自休息端点的 json 响应吗?

例如:

@app.route('/test')
def test():

    list = [1, 1, 1, 1, 2, 2, 2, 2, 3, 4, 4]

    unique_list = set(list)

    return json.dumps(unique_list)

我已经试过了,但出现以下错误:

TypeError: unhashable type: 'list'

我也试过将集合变回列表,然后 return 将其改为列表。但是我遇到了与上述相同的错误。

有什么想法吗?

使用 flask 的 jsonify 来 return 一个 JSON 响应。另外,不要使用 list 作为变量名并将唯一的 set 转换回 list.

from flask import jsonify

@app.route('/test')
def test():

    my_list = [1, 1, 1, 1, 2, 2, 2, 2, 3, 4, 4]

    unique_list = list(set(my_list))

    return jsonify(results=unique_list)