提问者:小点点

阻止Flask jsonify对数据进行排序


每次使用jsonify时,我都将JSON键按字母顺序排序。我不想把钥匙整理好。我可以禁用在jsonify中完成的排序吗?

from flask import request, jsonify

@app.route('/', methods=['POST'])
def index():
    json_dict = request.get_json()
    user_id = json_dict['user_id']
    permissions = json_dict['permissions']
    data = {'user_id': user_id, 'permissions': permissions}
    return jsonify(data)

共1个答案

匿名用户

是的,您可以使用config属性对其进行修改:

app = Flask(__name__)
app.config['JSON_SORT_KEYS'] = False

但是,请注意,文档中明确警告不要这样做:

默认情况下,Flask将以键排序的方式序列化JSON对象。这样做是为了确保不依赖于字典的哈希种子,返回值将是一致的,不会丢弃外部HTTP缓存。您可以通过更改此变量来重写默认行为。这是不推荐的,但可能会在缓存性的代价上提高性能。