2017-04-06 154 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属性修改:

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

但是请注意,这是在documentation告诫明确:

默认瓶将序列化JSON对象的排序方式是按键 。这样做是为了确保独立于字典的 散列种子的返回值将与 垃圾外部HTTP缓存一致。您可以通过更改此变量覆盖 的默认行为。不建议这样做,但可能会提高缓存性成本方面的性能。