Tool Kumar 工具

JSON 键名排序

粘贴 JSON,即可看到每个对象的键按字母顺序排列,嵌套对象也不例外。数组保持原有顺序,因此数据含义不变,变化的只是键的顺序。

如何使用这个工具

  1. 粘贴 JSON 或打开文件。
  2. 在“格式化”视图中查看排序后的输出。“更多选项”菜单中的“键名排序”已开启。
  3. 复制或下载结果,或者选择“用作输入”(Ctrl+Enter)直接对输入排序。按 Ctrl+Z 可以撤销。

示例演示

每个对象都已排序,嵌套对象也包括在内。owners 列表保持原有顺序;由于键按文本比较,"10" 排在 "2" 之前。

输入

{"version":2,"name":"tool-kumar","10":"ten","2":"two","scripts":{"test":"node --test","build":"next build","dev":"next dev"},"owners":[{"role":"admin","email":"ada@example.com"},{"role":"editor","email":"lin@example.com"}]}

输出

{
  "10": "ten",
  "2": "two",
  "name": "tool-kumar",
  "owners": [
    {
      "email": "ada@example.com",
      "role": "admin"
    },
    {
      "email": "lin@example.com",
      "role": "editor"
    }
  ],
  "scripts": {
    "build": "next build",
    "dev": "next dev",
    "test": "node --test"
  },
  "version": 2
}

选项与特殊情况

  • 排序是递归的:对象中的对象、数组中的对象也会被排序。
  • 数组保持元素顺序。对数组的值排序,或按某个属性对记录排序,是另一种操作。
  • 键按文本逐字符比较,所以 "10" 排在 "2" 之前,大写字母排在小写字母之前。
  • 值不会改变,数字的每一位都原样保留。
  • 要确认只有键的顺序发生了变化,可以在 JSON 对比中开启“忽略键顺序”,比较两个版本。

默认保护隐私

你的文档只保留在这个浏览器中。Tool Kumar 在你的设备上解析、转换并生成下载文件,无需账号,也没有上传步骤。

JSON 键名排序:常见问题

如何给 JSON 的键排序?
把 JSON 粘贴到这里。输出会把每个对象的键按字母顺序排列,各个层级都是如此。你可以复制结果,或选择“用作输入”替换输入内容。
如何按字母顺序排序 JSON 文件?
用“打开文件”(Ctrl+O,Mac 上为 ⌘O)打开文件,然后下载排序后的输出。只有对象的键会移动,数组保持原有顺序。
排序会改变我的数据吗?
不会改变任何值。JSON 对象本身是无序的,所以标准解析器读到的是相同的数据。但依赖键顺序的代码,行为仍可能有所不同。

相关工具

JSON 对比、JSON 压缩工具和JSON 格式化工具。