JSON 格式化
在浏览器中格式化、压缩和校验 JSON:支持 2/4 空格或制表符缩进、递归排序键、大数字原样保留,可打开和保存 .json 文件。
输入内容和文件始终留在浏览器中
输入 JSON
在此粘贴 JSON 或拖放 .json 文件,即可格式化、压缩或按键排序。
在编辑器中按 Tab 键可缩进。按 Esc 再按 Tab 可移出编辑器。
本页内容
粘贴或打开一个 JSON 文档,把它整理成缩进统一、便于阅读的文本,或者再压缩回一行。编辑器提供语法高亮、对象和数组折叠,并显示解析错误的位置,数据不会被发送到任何地方。
详细功能
格式化 按每层 2 个空格、4 个空格或一个制表符重写文档,紧凑模式(压缩) 会去掉所有无意义的空格和换行。排序键 对所有嵌套层级中每个对象的键进行排序,便于用 diff 比较两个 JSON 文件。在支持 JSON.rawJSON 的浏览器(当前版本的 Chrome、Edge 和 Firefox)中,数字会与源文本完全一致地输出 —— 12345678901234567890 和 1.0 不会被四舍五入或简写。
输入由浏览器的严格 JSON 解析器检查:注释、尾随逗号和单引号都会被拒绝,错误信息会指出问题所在,例如 Chrome 中的 Expected double-quoted property name in JSON at position 7 (line 1 column 8)。即使是数 MB 的文件(包括压缩成一行的 JSON),编辑器依然流畅,并可用 Ctrl/Cmd+F 在其中搜索。
打开 .json 文件或将其拖放到编辑器中,然后复制结果,或下载为 formatted.json。缩进、排序和紧凑模式的设置会保存在当前浏览器中;JSON 文本本身从不存储或上传。
实用示例
压缩接口响应:开启紧凑模式后,分布在多行的 { "a": [1, 2], "b": "x" } 会变成 {"a":[1,2],"b":"x"}。
在所有层级排序键:{"b":1,"a":{"d":true,"c":[1,2]}} 在开启排序键和紧凑模式后得到 {"a":{"c":[1,2],"d":true},"b":1}。
大 ID 保持不变:{"id": 12345678901234567890, "price": 1.0} 被压缩为 {"id":12345678901234567890,"price":1.0};如果只是简单地 JSON.parse + JSON.stringify 走一遍,ID 会变成 12345678901234567000,价格会变成 1。
定位语法错误:{"a":1,} 不会被格式化;错误指向位置 7(第 1 行第 8 列)—— 即 } 前面的尾随逗号。
如何使用此工具
添加 JSON
将文本粘贴到 输入 JSON 编辑器中,点击 打开 加载 .json 文件,或将文件拖放到编辑器上。
选择格式
选择 缩进大小(2 空格、4 空格或制表符),需要时开启 排序键 或 紧凑模式(压缩) 。
格式化
点击 格式化 或按 Ctrl+Enter(macOS 上为 Cmd+Enter)。无效的 JSON 会在编辑器上方提示,文本保持不变。
使用结果
点击 复制 将结果放入剪贴板,或点击 下载 保存为
formatted.json。
提示和最佳实践
- 修改缩进、排序键或紧凑模式后,当前文本会立即重新格式化。
- JSON5 风格的输入(注释、尾随逗号、单引号、不带引号的键)不是合法的 JSON —— 解析器会在遇到的第一个此类字符处停止。
- 排序键按纯字符顺序排列,所以
"B"排在"a"之前,而像"2"和"10"这样类似整数的键总是排在最前面(这是 JavaScript 对象的规则)。 - 点击行号旁的箭头可折叠大型对象和数组;Ctrl/Cmd+F 也能找到滚动到视野之外的行中的文本。
- 在编辑器中按 Tab 会插入缩进;先按 Esc 再按 Tab 可将焦点移出编辑器。
- 首次访问后,页面在离线状态下也能使用,JSON 始终不会离开你的浏览器。