阻止Flask jsonify对数据进行排序

zxlwwiss  于 2023-05-30  发布在  其他
关注(0)|答案(2)|浏览(185)

每次我使用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)
c9qzyr3d

c9qzyr3d1#

是的,您可以使用config属性修改它:

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

但是,请注意,文档中明确警告不要这样做:
默认情况下,Flask将以键排序的方式序列化JSON对象。这样做是为了确保独立于字典的散列种子,返回值将是一致的,不会破坏外部HTTP缓存。您可以通过更改此变量来覆盖默认行为。不建议这样做,但可能给予在缓存性成本方面提高性能。

ckocjqey

ckocjqey2#

对于培养瓶2.3+:

app = Flask(__name__)
flask.json.provider.DefaultJSONProvider.sort_keys = False

相关问题