JSON 格式化与查看器
粘贴 JSON 即刻在原地美化;点击任意字段,右侧查看它的完整值与路径。语法错误标注到行列,全部在浏览器本地完成。
- 缩进
- 2 / 4 空格 · Tab
- 附加功能
- 点选查看 · 排序 · 统计
- 隐私
- 内容不上传
- 使用限制
- 免费 · 无需注册
为什么需要它
每天都要读 JSON 的人的趁手工具
接口响应、配置文件、日志负载——原始 JSON 常常是密不透风的一行。让它可读、找出写坏的逗号,再按你需要的样子放回去。
美化与压缩一键切换
在人读的树形结构与机器传的单行之间一键切换,2 空格、4 空格、Tab 三种缩进随你代码库的风格选。
错误定位到行列
语法错误直接给出 L12 : C34 这样的行列坐标,而不是一句晦涩的解析器报错,少了哪个逗号、哪个引号一目了然。
键名递归排序
对象键按字母序在每一层递归排序,数组元素保持原顺序。对比配置、固化测试夹具时最实用。
字符串转义 / 反转义
把整段 JSON 转义成字符串字面量,方便塞进代码或环境变量;也可以把日志里 {\"a\":1} 形式的字面量还原回原始 JSON。
点选字段查看完整内容
点击编辑区里的任意字段,右侧抽屉展开它的完整值、类型与 JSON 路径;嵌套对象和数组也能完整查看,不必再靠数括号确认内容。
完全本地运行
JSON 不离开浏览器,工具离线可用,输入为空时不发起任何请求。
使用方式
缩进可在 2 空格、4 空格与 Tab 之间切换;需要传给机器时一键压缩成单行,需要稳定顺序时递归排序对象键名,也可以把整段 JSON 转义成字符串字面量,或把日志里转义过的字面量还原回来。
点击任意字段可在右侧抽屉查看它的完整内容;键数、数组元素与嵌套深度随输入实时统计。同一页面可以平铺多份 JSON 对照查看,每份内容互不影响。所有处理都在浏览器本地完成,内容不会上传。
更多 JSON 工具
按用途挑选的第三方工具,本站不重复实现,需要时前往使用。
| 工具 | 用途 | 主要功能 |
|---|---|---|
| JSON Editor Online | 编辑与校验 | 文本与树形双栏联动,可拖拽调整结构,并内置 Diff、Schema 校验与查询。 |
| JSON Crack | 可视化 | 把 JSON 画成可交互的节点图,适合快速理解复杂嵌套与做演示。 |
| JSON Visio | 可视化 | 另一款图形化查看器,界面更轻,可以按习惯在它和 JSON Crack 之间选一个。 |
| Diffchecker | 对比 | 并排或统一视图对比两段文本,快速定位新增、删除与修改的行。 |
| JSONPath | 查询 | 在线执行 JSONPath 表达式,按路径从 JSON 中取出想要的字段。 |
| JSONata | 查询与转换 | 查询并转换 JSON 的表达式语言,带在线 playground 和示例可参考。 |
| quicktype | 类型生成 | 把 JSON 转成 TypeScript、Swift、Go 等语言的类型定义。 |
| JSON Generator | 生成数据 | 用模板生成结构化的 mock 数据,适合造接口测试用的样本。 |
关于 JSON 格式化的细节
JSON 看着简单,其实有几条硬性规则——了解它们,能在解析器拒绝你的负载时少绕一圈。
什么样的 JSON 才算合法?
JSON 只定义了六种值:对象、数组、字符串、数字、布尔、null。键必须是双引号字符串,不允许多余逗号,也不允许注释。
JavaScript 里的单引号、undefined、NaN、Infinity、尾随逗号在严格解析器里都会失败——本工具标出来的正是这些。
「查看」和「格式化」有什么区别?
格式化改变的是文本排版:缩进、换行与压缩。查看则不动原文,只在你点击某个字段时,把它的完整值、类型和 JSON 路径显示在右侧抽屉里。
嵌套很深的对象在编辑区里往往只剩层层括号,用点选查看可以直接确认某个字段的实际内容,读接口响应和日志负载时尤其省事。
为什么格式化后键的顺序变了?
JSON 规范把对象视为无序键值对,解析器可以任意重排。实际上 V8(Chrome / Node)对字符串键保持插入顺序,但整数形态的键("1"、"42")永远按数值排在最前。
如果你需要跨解析器都稳定的顺序,打开「排序对象键名」——按字母序递归排序,对比配置文件时特别有用。
JSON 能表示多大的数字?
JSON 本身没有上限,但 JavaScript 把所有数字都解析为 IEEE-754 双精度浮点:超过 ±2^53(约 9 千万亿)的整数会丢精度——9007199254740993 会变成 9007199254740992。
负载里如果有 64 位 ID 或纳秒级时间戳,请保持为字符串;本工具不会破坏它们,但粘进 JS 代码里就会。
什么时候该压缩而不是美化?
人读的场景美化:代码评审、调试、写文档。机器传的场景压缩:API 请求体、URL 参数、环境变量、.env 文件。
典型的 API 负载压缩后能省 15–30% 字节,且结构零变化——这是最便宜的压缩。
转义是干什么用的?
转义把 JSON 包成字符串字面量:引号变成 \",换行变成 \n,这样它才能安全地嵌进另一个 JSON 值、shell 命令或环境变量里。
反转义就是还原。如果你从日志里复制过形如 {\"a\":1} 的内容,那就是转义后的格式——粘过来点「反转义」即可。
常见问题
我的 JSON 会被上传或保存吗?
不会。所有处理都在浏览器里用 JavaScript 完成,没有任何请求会把 JSON 发出去,离线也能用;也不会写入任何本地存储,刷新页面后输入即清空。
为什么我的配置文件格式化失败?
大概率不是严格 JSON:JSONC / JSON5 允许注释和尾随逗号,YAML 靠缩进表达层级,.env 是 key=value。先去掉注释和尾随逗号,或者改用对应格式的解析器。
排序键名会影响数组吗?
不会。数组顺序本身有语义(第一项、第二项……),永远保持原样;只有对象(包括数组里嵌套的对象)的键会按字母序递归排序。
「错误位置 L12 : C34」是什么意思?
指解析器放弃的位置:第 12 行、第 34 列(从 1 开始)。真正的错误通常就在这一点或它前面——上一行少了个逗号、某个引号没转义、或闭合括号前多了个尾随逗号。
有大小限制吗?手机上能用吗?
没有硬性上限——格式化几 MB 的日志输出没问题。特别大的输入(几十 MB)在低端设备上可能略卡,因为每次击键都会重新解析和格式化。页面是响应式的,编辑区会随屏幕宽度自适应。