文本工具

JSON 格式化与查看器

粘贴 JSON 即刻在原地美化;点击任意字段,右侧查看它的完整值与路径。语法错误标注到行列,全部在浏览器本地完成。

美化与压缩 点选查看字段 错误定位到行列 100% 本地处理
缩进

为什么需要它

每天都要读 JSON 的人的趁手工具

接口响应、配置文件、日志负载——原始 JSON 常常是密不透风的一行。让它可读、找出写坏的逗号,再按你需要的样子放回去。

01

美化与压缩一键切换

在人读的树形结构与机器传的单行之间一键切换,2 空格、4 空格、Tab 三种缩进随你代码库的风格选。

02

错误定位到行列

语法错误直接给出 L12 : C34 这样的行列坐标,而不是一句晦涩的解析器报错,少了哪个逗号、哪个引号一目了然。

03

键名递归排序

对象键按字母序在每一层递归排序,数组元素保持原顺序。对比配置、固化测试夹具时最实用。

04

字符串转义 / 反转义

把整段 JSON 转义成字符串字面量,方便塞进代码或环境变量;也可以把日志里 {\"a\":1} 形式的字面量还原回原始 JSON。

05

点选字段查看完整内容

点击编辑区里的任意字段,右侧抽屉展开它的完整值、类型与 JSON 路径;嵌套对象和数组也能完整查看,不必再靠数括号确认内容。

06

完全本地运行

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)在低端设备上可能略卡,因为每次击键都会重新解析和格式化。页面是响应式的,编辑区会随屏幕宽度自适应。

相关工具