JSON 数据会上传到服务器吗?
不会。解析、格式化、树形展示和复制都在浏览器本地通过 JavaScript 完成,页面没有后端接口,也不会把你粘贴的内容发送到任何服务器。适合查看包含内部字段的接口返回、日志片段和配置文件。
data.items[0].id)与对应的值。两者改的只是空白字符,数据本身一模一样。格式化是加上换行和缩进给人看的,调接口、看日志、审配置文件的时候用;压缩是把所有多余空白去掉,减小体积,写进请求体、存进数据库或塞进环境变量的时候用。一段挤成一行的 JSON 不是「坏掉了」,只是没有为阅读排版,粘进来格式化一下即可。
按出现频率大致是:最后一个元素后面多了一个逗号;用了单引号而不是双引号;写了双斜杠注释;键名没加引号;值里出现了 NaN、undefined 或者 Python 风格的 True / None;字符串里有没转义的换行或反斜杠。这些写法在 JavaScript 或 Python 源码里都合法,但 JSON 标准不接受,从代码里复制片段过来时尤其容易踩到。还有一种看不见的情况是文件开头带 BOM 或不可见空白,从记事本另存或从网页复制时可能混进来。
真实接口返回常常嵌套五六层,光靠缩进翻找很累。树形视图可以把不关心的分支折叠起来,一眼看清数组有多少个元素、某个字段在第几层,也能直接把节点路径复制出来贴到代码里。排查线上问题时,日志里的 JSON 往往是被当成字符串再次嵌套的,带着一堆反斜杠,先去转义再解析就能正常展开。
JSON 是一种数据交换格式,只有对象、数组、字符串、数字、布尔和 null 六种类型,键必须用双引号包起来,不允许函数、日期对象、注释和尾随逗号。JavaScript 的对象字面量比它宽松得多。另外 JSON 数字没有精度上限的规定,而多数解析器按双精度浮点处理,超过 2 的 53 次方的整数(比如雪花算法生成的 ID)会丢失末尾几位,这类字段建议在接口里就用字符串传。
不会。解析、格式化、树形展示和复制都在浏览器本地通过 JavaScript 完成,页面没有后端接口,也不会把你粘贴的内容发送到任何服务器。适合查看包含内部字段的接口返回、日志片段和配置文件。
右侧会显示浏览器报出的错误信息以及大致的行号和列号。常见原因包括:使用了单引号而不是双引号、键名没有加引号、最后一个元素多了逗号、内容里混入了注释,或者复制时把 JSON 截断了。按提示定位到对应位置修正即可。
树形结构需要为每个节点生成一个 DOM 元素,节点数量非常多时渲染会变慢。工具对超大文档默认只展开前几层,其余部分保持折叠状态,展开时再渲染,可以显著减少卡顿。如果文件特别大,建议先截取关心的片段再查看。
有些日志或数据库字段会把一段 JSON 当成字符串保存,内容里全是 \" 这样的反斜杠。点“去转义”可以把这种字符串还原成正常 JSON 再解析;反过来点“转义”,则把当前 JSON 转成可以嵌进字符串里的形式。
可以。鼠标悬停到任意节点行,右侧会出现复制图标,点击后复制该节点的访问路径,例如 data.items[0].name,可以直接粘贴到代码或调试工具里使用。按住 Shift 再点击则复制该节点的值。
解析使用浏览器内置的标准 JSON.parse,因此只支持标准 JSON 语法,不支持注释、单引号、尾随逗号和未加引号的键名。如果你的内容属于 JSON5 / JSONC,需要先手动去掉这些扩展写法。
JavaScript 的数字精度有限,超过 2^53 的整数(例如某些雪花 ID)在解析后可能出现末尾几位变化。这是所有基于 JSON.parse 的工具的共同限制。遇到这类字段,建议在服务端把 ID 用字符串类型返回。