把 JSON 对象的键按字母排序,可递归排嵌套,升序或降序,值原样保留,全程浏览器本地运行
- 本地处理
- 分类 开发运维
- 适合 格式化、校验、压缩或检查和代码相关的文本。
排序后的 JSON 显示在这里。这个工具能做什么
一个专门给 JSON 对象键名排序的小工具,让同一份数据每次都序列化成 一样的顺序。粘进任意 JSON,选升序或降序,键名立刻重排,而每个值、 类型和 null 都保持原样。默认递归排序,所以嵌套三层的配置也能从上到 下排齐;关掉递归就只动最外层。区分大小写开关决定 "Name" 和 "name" 是归在一起还是分开排。数组默认保持原顺序,除非你勾选给基本类型数组 排序。输出缩进可选 2 空格、4 空格、Tab 或压缩成一行,排完一键复制, 或者分享链接把你的输入和设置原样还原。所有运算都在页面里跑,不上传 任何内容。用来整理接口返回、让 git diff 看得清、生成顺序固定的配置 文件都很顺手。
工具细节
- 输入
- 文本 + 数值 + 结构化内容
- 页面会根据工具类型展示文本框、数值控件、文件选择或结构化输入。
- 输出
- 即时结果 + 复制
- 结果区优先给出可操作结果,支持项会显示复制、下载或可视化预览。
- 隐私
- 浏览器本地处理
- 主工具逻辑未发现外部 API 调用,输入通常留在当前标签页内处理。
- 保存 / 分享
- 可分享链接状态
- 关键设置会进入 URL,复制链接后别人能复现同一组参数。
- 性能预算
- 首屏 JS ≤ 9 KB
- 没有声明 WASM 依赖,适合快速打开和移动端使用。
- 适用场景
- 开发运维 · 程序员
- 分类和职业标签用于推荐相关工具、组织内链,并帮助用户快速判断是否适合当前任务。
怎么用
-
1. 输入
把内容粘贴或拖入工具面板。
-
2. 处理
点击按钮,在浏览器内本地处理,文件不上传。
-
3. 复制 / 下载
一键复制结果或下载到本地。
JSON 键排序 适合怎么用
适合穿插在写代码、查问题、做 Review、上线前的小任务里。
适合开发场景
- 格式化、校验、压缩或检查和代码相关的文本。
- 把片段整理好再放进文档、工单、提交或交接材料。
- 不切换工具,快速检查一个小 payload。
开发检查项
- 压缩、混淆这类不可逆处理,先对副本操作。
- 除非确认工具本地处理,不要粘贴密钥和敏感片段。
- 转换后的代码上线前,仍要跑自己的测试或 lint。
下一步可以接着做
这些入口会把当前任务接到更完整的工具链里。
真实使用场景
让配置文件的 git diff 真正看得清
两个服务把同一份设置对象用不同键顺序序列化,于是每次部署 diff 里 都是一片移位的行,实际没有任何改动。提交前把两份文件都过一遍键 排序,diff 就只剩下值真正变了的那几行。审查的人不用再划过一堆 噪音,一眼看到那个有意义的字段。
跑快照测试前先归一化接口返回
后端返回的 JSON 不保证键顺序,于是快照测试在两次运行间一会儿绿 一会儿红,数据其实没变。保存快照前先把返回的键排好,测试就只在 值真的不同时才失败。同样的招数能让 fixture 文件在队友于不同机器 重新生成时保持稳定。
整理手改过的配置,让字段好找
一份庞大的 JSON 配置靠堆积长大,新键谁顺手就加在哪。排一次, 每个块都按字母落位,下一个人找 "timeout" 或 "retries" 就能在可 预期的位置找到,而不用 grep 整个文件。保持递归开着,嵌套小节也 一并理顺。
为缓存和哈希生成确定性 JSON
如果你把 JSON 负载哈希后当缓存键,两个语义相同但键顺序不同的 对象会算出不同哈希,于是缓存命中不了。先排键得到一个规范形态, 再去哈希,相同数据就总映射到同一个键。输出选压缩,规范字符串能 尽量短。
常见踩坑
以为数组元素也会重排。默认数组保持原顺序,因为位置常常有含义。想给基本类型数组排序,打开数组开关;含对象的数组无论如何都原样不动。
本想把同名键归在一起却开着区分大小写。开着时 "Name" 和 "name" 会按码位分开,期待它们挨在一起的人会意外。要可读的归类就关掉,要匹配下游区分大小写的比较器就打开。
忘了递归是开的,把本想保留的块又排了一遍。如果某个嵌套小节有特意手调的顺序,关掉递归,就只动最外层键,里面的结构原样不变。
隐私说明
排序全程在你的浏览器标签页里用自带的 JSON 引擎完成。你的 JSON 不上传、 不记录、不发往任何地方,运行时也不发任何网络请求。唯一要知道的是: 分享链接会把你的输入和设置写进 URL 查询字符串,所以把"分享链接" 粘到聊天里,对方服务器的访问日志会留下这份 JSON。涉及敏感数据时, 用复制按钮粘贴排好的文本,而不是分享网址。
常见问题
类似工具组合
做你这行的人, 还会一起用这些。