JSON 树形浏览
把 JSON 展开成可折叠的树:支持展开/折叠全部、按深度展开、按键或值搜索高亮,点击任意节点即可查看并复制它的 JSONPath 与值。
浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。
结构
请输入 JSON 文本
选中节点
JSONPath: –
这个工具能做什么
- 调试接口返回的一坨压缩 JSON:展开成可折叠的树,一眼看清层级,比在编辑器里对着一个超长行舒服得多。
- 按深度展开(1–5 层)快速把握整体结构,再用「展开全部 / 折叠全部」在总览和细节之间切换。
- 搜索键名或叶子值并高亮命中项,同时自动展开命中的路径;点任意节点就能看到并复制它的 JSONPath(如 $.items[0].title)。
- 排查「这个字段到底在哪一层」:点击节点后直接复制 JSONPath,粘到 jq、控制台或测试代码里接着用。
示例
输入
{"name":"UniKit","tags":["json","viewer"]}输出
$ {2}
$.name "UniKit"
$.tags [2]
$.tags[0] "json"
$.tags[1] "viewer"这是展开全部后的树:容器节点显示 {2} / [2] 这样的摘要,叶子节点显示原始值;根节点路径固定是 $。
常见问题
为什么报错信息比 JSON.parse 详细?
这里用的是自研解析器,不用 JSON.parse,所以能指出「第几行第几列 + 具体原因」,例如对象键没加双引号、字符串少了结束引号、JSON 结束后还有多余内容。JSON.parse 在很多浏览器上只给一句笼统的提示。
JSONPath 是怎么拼的?
对象键是合法标识符(字母、数字、下划线、$ 开头)时写成 .key;含点、连字符、空格等特殊字符时写成 ["k-e.y"];数组下标写成 [0]、[1]。这样生成的路径可以直接喂给大多数 JSONPath 实现。
超大 JSON 会卡死吗?
树最多渲染前 2000 行,超出会提示用搜索缩小范围,避免一次插入几十万个 DOM 节点。解析本身是线性的,但嵌套深度超过 512 层会被判为畸形输入并报错。
搜索能搜什么?
键名和叶子值,大小写不敏感。中间容器节点的值不参与匹配(否则搜一个常见字符串会命中所有祖先)。命中项的祖先会自动展开,方便直接看到上下文。
我的 JSON 会被上传吗?
不会。解析、搜索、渲染全部在浏览器本地完成,不发网络请求,断网可用,适合处理含敏感字段的接口数据。
关键词:jsonjson 查看json viewerjson 树tree viewjsonpathjson 搜索折叠collapse