浏览器本地处理

JSON 键排序

生成稳定、易读的 JSON,同时保持数组元素顺序。递归模式会排序数组内对象的键,但绝不重排数组本身。

浏览器本地处理
0 / 1,000,000
排序结果

工具指南

什么是JSON 键排序?

JSON 键排序用于生成稳定、便于比较和审查的对象结构。你可以只整理顶层键,也可以递归排序所有嵌套对象;数组元素顺序始终保持不变。它适合减少代码评审中的无意义差异,但不会把数组当集合处理,也不会改变数据类型。常见使用场景包括:统一配置文件和快照测试中的对象键顺序。;减少 Git diff 中只由键顺序造成的噪音。;整理接口示例,使同类字段更容易查找。页面同时列出输入边界、输出规则和限制,便于在复制结果或投入实际流程前核对格式、语义与安全注意事项。

适用场景

  • 统一配置文件和快照测试中的对象键顺序。
  • 减少 Git diff 中只由键顺序造成的噪音。
  • 整理接口示例,使同类字段更容易查找。

使用方法

  1. 粘贴合法 JSON。
  2. 选择是否递归排序嵌套对象。
  3. 执行排序并复制结果。
  4. 先使用页面提供的复杂示例验证当前选项和运行方向,再替换为自己的数据。
  5. 检查输出区、状态提示和限制说明,确认结果符合预期后再复制、下载或继续处理。

可运行示例

工作区中的“示例 1”和“示例 2”按钮会载入对应内容。两个示例覆盖不同结构、方向或边界,可以直接运行并观察输出与状态提示。

示例 1

{"z":1,"profile":{"updated":"2026-08-09","name":"JSONLane","features":[{"status":"ready","id":2},{"id":1,"status":"done"}]},"a":2}

示例 2

{"settings":{"theme":"dark","language":"zh-cn","editor":{"wrap":true,"indent":2}},"build":20,"adsense":"reviewed"}

输入规则

  • 输入必须是合法 JSON。
  • 递归选项只影响对象键,不影响数组元素顺序。
  • 重复键和不安全整数按页面提示处理。
  • 文本输入在运行前按字符计数,当前页面上限为 1,000,000;文件类功能另按页面显示的文件上限执行。
  • 键按稳定的英文排序规则排列。

输出规则

  • 对象键按稳定的英文排序规则排列。
  • 输出使用易读缩进,并保持原数据类型。
  • 数组内的对象可递归排序,但数组本身不会重排。
  • 输出只反映当前输入、方向和选项;切换模式或修改输入后应重新运行,不应把旧结果当成新结果。
  • 不安全整数会被拒绝。

限制与注意事项

  • 键按稳定的英文排序规则排列。
  • 不安全整数会被拒绝。
  • 注释和尾随逗号不是合法 JSON。

数据处理说明

排序通过浏览器中的解析和重新序列化完成,不会向服务器提交文档。关闭或刷新页面后,本工具不会保留本次数据。

FAQ

数组会被排序吗?

不会。数组元素顺序保持不变,只排序对象的键。

重复键如何处理?

工具会警告,标准 JSON 解析器保留最后一个值。

为什么拒绝大整数?

这样可防止解析和序列化时静默改变数值精度。

递归排序会改变数组顺序吗?

不会。递归只进入数组元素中的对象并排序其键,数组项目本身保持原位置。

键排序能让两个 JSON 一定相同吗?

不能。它只减少对象键顺序差异,不会忽略数组顺序、数值类型、字符串内容或缺失字段。

排序规则是否等同数据库排序?

不一定。本页使用稳定的文本排序规则;数据库的区域、大小写和校对规则可能不同。

更新日期: 2026-07-31