JSON 键排序器(稳定键顺序,获得更清晰的差异)

自动统一 JSON 键顺序,让审查和比较更容易。

可选择所有层级或仅顶层。数组顺序保持不变。

固定键顺序,让 diff 更清晰
保留数组顺序
同一次处理即可完成缩进格式化
处理完全在当前页面中完成(不会上传任何内容)。

工具

一步完成 JSON 排序与格式化,然后复制或下载结果。

快捷键:Ctrl / Cmd + Enter 执行

示例(处理前 / 处理后)

输入

{"b":1,a":{"d":4,"c":3},"ar":[{"y":2,"x":1},3]}

所有层级排序(2 个空格)

{
"甲乙"曰:{
"c": 3, (中文(简体) ).
“d”:4
{\fn华文楷体\fs16\1cHE0E0E0}
"甲乙"曰:[
{
"x": 1,
"y": 2个
{\fn华文楷体\fs16\1cHE0E0E0}
3个
[ [
"b": 1个
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?

仅顶层排序

顶层键会重排为 a、arr、b,而 "a" 内部的键顺序会保持输入时的状态。

使用方法

  1. 将 JSON 粘贴到输入区域。
  2. 选择范围(所有层级 / 仅顶层)和缩进方式。
  3. 点击“排序并格式化”,然后复制输出。

可执行的操作

  • 按升序或降序排列对象键
  • 可选择所有层级或仅顶层
  • 保持数组元素顺序不变
  • 支持复制、下载以及交换输入 / 输出

规格(数组、嵌套、数字键)

  • 对象键按字典序排序,可选择适用范围(所有层级或仅顶层)。
  • 数组元素顺序保持不变。
  • 缩进选项:2 个空格、4 个空格、Tab,或压缩为单行输出。
  • 如果输入不是有效 JSON,会显示错误且不会更新输出。
  • 根据 JavaScript 的属性枚举规则,类似整数的键可能会按数字顺序显示。

常见问题

嵌套对象也可以排序吗?

可以。可选择所有层级,或只对顶层排序。

数组会怎样处理?

数组元素顺序会保持不变。数组中的对象是否排序,取决于你选择的范围。

可以保留原始缩进吗?

不会保留输入时的格式。输出会按你选择的缩进方式重新格式化。

支持 JSON5 注释或尾随逗号吗?

不支持。此工具仅针对标准 JSON。

数据在哪里处理?

全部在浏览器本地运行。输入不会发送到服务器。