web-dev-qa-db-ja.com

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)
24

はい、config属性を使用してこれを変更できます:

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

ただし、これは documentation で明示的に警告されていることに注意してください:

デフォルトでは、Flaskは、JSONオブジェクトをキーが順序付けられる方法でシリアル化します。これは、ディクショナリのハッシュシードとは無関係に、戻り値がゴミにならないように一貫していることを確認するために行われます外部HTTPキャッシュ。この変数を変更することで、デフォルトの動作を上書きできます。これは推奨されませんが、キャッシュ可能性のコストでパフォーマンスが向上する可能性があります。

45