防止Flask jsonify对数据进行排序

时间:2017-04-06 18:41:53

标签: python json flask

每次使用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 个答案:

答案 0 :(得分:28)

是的,您可以使用config属性修改此内容:

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

但请注意,documentation

中会明确警告此情况
  

默认情况下,Flask将以密钥的方式序列化JSON对象   订购。这样做是为了确保独立于   字典的哈希种子返回值将不一致   垃圾外部HTTP缓存。您可以通过覆盖默认行为   改变这个变量。这不是推荐的,但可能会给你一个   性能提升可缓存性成本。