2017-04-06 66 views
4

jsonifyを使用するたびに、JSONキーがアルファベット順にソートされます。私はキーをソートしたくありません。 jsonifyで行われた並べ替えを無効にすることはできますか?Flask 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) 
+2

なぜソートされたデータはありませんか?それはまだ同じ構造であり、大きな違いはありません。 – LismUK

+0

ええ、JSONのキーの順序に頼っているのではないでしょうか? –

+0

私はそれが達成することが可能であるかどうかを知りたがっているので、私は探検したいと思っています。 –

答えて

8

はい、あなたはこのconfig属性を使用して変更することができます。これはdocumentationで明示的にと警告していることに注意してください、しかし

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

を:

デフォルトフラスコではJSONをシリアライズしますオブジェクトがキー の順序で並べられます。これは、戻り値が ゴミ外付けHTTPキャッシュと一致しないように辞書のハッシュ・シードと独立していることを保証するために行われます。 によってこのデフォルトの動作を変更することができます。これは推奨されませんが、キャッシュ可能性のコストに関しては、 のパフォーマンス改善をもたらすかもしれません。

関連する問題