当前位置: 首页 > 知识库问答 >
问题:

阻止Flask jsonify对数据进行排序

阳昊
2023-03-14

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

段渊
2023-03-14

是的,您可以使用config属性对其进行修改:

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

但是,请注意,文档中明确警告不要这样做:

默认情况下,Flask将以键排序的方式序列化JSON对象。这样做是为了确保不依赖于字典的哈希种子,返回值将是一致的,不会丢弃外部HTTP缓存。您可以通过更改此变量来重写默认行为。这是不推荐的,但可能会在缓存性的代价上提高性能

 类似资料:
  • 问题内容: 每次使用时,我都会按字母顺序对JSON键进行排序。我不希望按键排序。我可以禁用在中进行的排序吗? 问题答案: 是的,您可以使用以下属性对此进行修改: 但是,请注意,在文档中明确警告不要这样做: 默认情况下,Flask将以对密钥进行排序的方式序列化JSON对象。这样做是为了确保独立于字典的哈希种子,返回值将保持一致,以免浪费外部HTTP缓存。您可以通过更改此变量来覆盖默认行为。不建议这样

  • 问题内容: 我有一个简单的ajax调用,看起来像这样: 的内容是: 当我运行代码并查看包含哪些数据时,它看起来像这样: “这是1” “这是2” “这是3” “这是4” “这是5” “这是6” …等等,您就明白了。为什么突然将其排序?如何关闭“自动分类”? 问题答案: 永远不能保证在JavaScript的反序列化和序列化之间保留对象键顺序。保证键顺序的唯一方法是提取对象的键并根据确定性标准对其进行排

  • 问题内容: 第一次尝试熊猫,我试图先按照索引对数据透视表进行排序,然后再对一系列值进行排序。 到目前为止,我已经尝试过: 按索引然后按值对数据透视表进行排序的正确方法是什么? 问题答案: 这是一个可以做您想要的解决方案: 结果将如下所示: 将其作为API方法内置到熊猫中会很好。虽然不确定应该是什么样。

  • 问题内容: 我正在阅读有关MapReduce的内容,以下内容使我感到困惑。 假设我们有一个包含一百万个条目(整数)的文件,并且我们想使用MapReduce对它们进行排序。我了解的处理方式如下: 编写一个对整数排序的映射器函数。因此,框架会将输入文件分为多个块,并将它们分配给不同的映射器。每个映射器将彼此独立地对数据块进行排序。完成所有映射器后,我们会将其每个结果传递给Reducer,它将合并结果并

  • 问题内容: 我正在尝试创建一个HashSet(或任何集合类型- 但我认为HashSet最适合我),无论插入什么,它都将保持顺序。这是我正在从事的联系人管理器项目。我一直在尝试以下示例。 我希望输出将名称按字母顺序排列-至少根据其名字或姓氏。但是,我什至无法辨别用于此排序的HashSet方法。 我的问题是,如何告诉程序如何根据规范对名称进行排序? 问题答案: HashSet不会为条目提供任何有意义的

  • 问题内容: 我想对以下数据框进行排序: 我想对它进行排序,以便根据列表对LSE列进行重新排序: 当然,其他列也需要相应地重新排序。有没有办法在熊猫里做到这一点? 问题答案: pandas0.15版中对s的改进支持使您可以轻松做到这一点: 如果这只是临时排序,则可能不希望将LSE列保留为a ,但是如果您希望这种排序能够在不同的上下文中使用几次,则是一个很好的解决方案。 在更高版本的,中,已被替换为,