给我的 JSON 工具加了结构折叠,看长数据终于没那么累了
给我的Qudo tool JSON 工具加了结构折叠,看长数据终于没那么累了
前两天用自己的 JSON 工具看一段 WebSocket 日志,碰到了一个很具体的问题。
数据里有个 defaultReplyList,存了几十条回复文案。我要看的其实是它后面的几个配置项,但这个数组展开以后占了大半屏,只能一直往下滚。
滚过去,再往上找字段,然后又滚回来。
当时就觉得,这里应该有个箭头,点一下把整段收起来。格式化已经把数据分好了层级,编辑器却只能把所有内容从头铺到尾,长一点就不好用了。

于是给 Qudo tool JSON 工具箱(JSON Workbench) 补上了结构折叠。
现在可以按对象和数组收起来了 行号旁边多了一列小箭头。遇到跨行的 JSON 对象或数组,点击就能折叠,再点一次展开。
比如这样一段数据:
{
"message": {
"data": [
{
"id": "123",
"defaultReplyList": [
"正在处理消息,稍后回复您",
"请稍等,我处理完手头的事情就回复",
"消息有点多,稍后联系您"
],
"enabled": true
}
]
}
}
如果暂时不关心回复文案,就把 defaultReplyList 收起来。后面的 enabled 立刻就能看到,不用再越过一整段字符串。
也可以继续把外面的对象、数组收起来,只留下当前需要看的层级。右键菜单里还加了“折叠全部”和“展开全部”,想先看整体结构时比较方便。 小功能,也有几个容易别扭的地方 刚开始想得很简单:找到一对大括号,把中间的行藏起来就行。
实际做的时候,发现还得处理一些细节。
首先,字符串里的括号不能算进去。日志内容可能本来就带着 {、},JSONC 注释里也可能出现这些字符。如果见到括号就配对,折叠的位置很容易出错。
另外,折叠只能影响显示,原文不能跟着变。复制、保存、格式化时,拿到的仍然应该是完整数据,撤销记录也不该因为点了几次折叠箭头就多出一堆操作。
还有查找。我不想遇到这种情况:搜索提示找到了字段,屏幕上却什么也看不见,最后还得自己猜它藏在哪一层。
所以现在查找到隐藏内容,或者跳转到某一行时,对应的层级会自动展开。
嵌套折叠也保留了状态。比如先收起里面的数组,再收起外面的对象;重新展开外层后,里面的数组还是收着的,不会一下子又把几十行内容全部倒出来。
树形视图和文本折叠,我都想留着 工具原来已经有树形视图,可以逐层展开数据。
不过我自己调试接口时,更多时候还是待在文本编辑器里。看完一个字段,顺手改个值,复制一小段内容,再对照原始日志,文本模式更顺手。
专门切到树形视图当然也能看,但只是想把眼前这一长段数组暂时藏起来,直接在行号旁边点一下更省事。
做完后再看那段日志,舒服了不少。没增加什么复杂操作,就是少滚了几次鼠标,也少找了几次字段。
已经放进新版里了 这次给折叠功能补了 14 项回归测试,主要检查嵌套状态、查找跳转、编辑、撤销,以及折叠前后原文是否一致。完整测试和打包后的应用自检也都通过了。
新版便携包已经更新,完整解压后运行 JSONWorkbench.exe 就能用。
这个工具目前还是完全离线的,不需要账号,不上传数据。平时如果也经常看接口响应、配置文件或者 JSON 日志,可以试试。
我会继续拿它处理自己的数据。哪里用着费劲,就接着改哪里。
https://www.qudo.cc/en/open-source-tools/json-toolbox#/ blogger