如何在转储语句中对 json 进行排序?

How to sort json in the dump statement?

我在 W3School 读到这篇 page,发现它显示您可以转储并按字母顺序排序,是否可以按时间排序?

我的转储语句:

with open("./warns.json","w") as f:
  json.dump(warns,f)

如何转储它并按日期排序?

来自 https://docs.python.org/3/library/json.html#json.dump :

If sort_keys is true (default: False), then the output of dictionaries will be sorted by key.

按日期排序是不同的,因为它取决于您 JSON 的结构。如果确实需要,可以修改编码器:

To use a custom JSONEncoder subclass (e.g. one that overrides the default() method to serialize additional types), specify it with the cls kwarg; otherwise JSONEncoder is used.

这用于序列化类型,但您也可以控制输出顺序。

另一种解决方案是在 JSON 中使用排序数组,以确保遵守顺序。