在线开发工具

调试时随手要用的那几个小工具:把接口返回的 JSON 展开看看,把两份配置合到一起,把一段 Base64 解出来,把日志里的时间戳换成人能读的时间。全部在浏览器本地运行,粘进去的东西不会被发出去。
JSON 在线格式化

左边粘贴 JSON,右边实时格式化并显示可折叠的树形结构,支持语法校验与错误定位、展开/折叠节点、压缩、转义与复制节点路径,全部本地处理不上传。

JSON 在线合并

把多个 JSON 对象或 .json 文件合并成一个,支持深合并、浅合并、数组拼接与去重,可选冲突时以谁为准,并逐条列出被覆盖的字段,全部本地处理不上传。

Base64在线解码

Base64 与文本、图片、任意文件互转,可直接粘贴整段 data URI 自动识别,解出图片直接预览。全部本地转换,不上传数据。

时间戳转换

Unix 时间戳与日期时间双向互转,自动识别 10 位(秒)与 13 位(毫秒),可切换本地时区与 UTC,页面顶部实时显示当前时间戳。

URL在线解码

URL 百分号编码与原文双向互转,支持 UTF-8 与 GBK、+ 号当空格,可选 encodeURIComponent 或 encodeURI,粘整条链接还会拆开查询参数逐个解码。

关于这些开发工具

为什么这类工具尤其不该上传

开发时粘进在线工具的内容,往往比想象中敏感得多:带用户手机号的接口返回、含 token 的请求头、生产库导出的一段 JSON、准备提交的配置文件。把它粘进一个会把内容发回服务器的网站,等于把一份线上数据交给了一个不知道谁在运维的第三方——而这类工具站通常连隐私政策都没有。这里所有处理都用浏览器原生能力完成,页面加载完之后断网也能用,你可以打开开发者工具的网络面板自己确认没有任何请求。

编码不是加密

这是这一组工具里最常见的误解。Base64 和 URL 百分号编码都是可逆编码:任何人拿到密文都能原样解开,不需要密钥,也不需要破解。它们存在的理由是让二进制内容和特殊字符能安全地穿过只认文本的协议,跟保密没有任何关系。所以把密码 Base64 一下再存进数据库,和明文存储没有区别;把 token 放进 URL 查询参数并编码,它照样会完整出现在网关日志和浏览器历史里。真正要保密的东西该走的是加密和哈希,那是另一组工具的事。

JSON 报错常常不在它指的那一行

解析器报的位置是它发现问题的地方,不是你写错的地方。少一个右花括号,报错会落在文件末尾;多一个逗号,报错落在下一个键上。所以看到行号先往上找,而不是盯着那一行改。三个最常见的原因都不是 JSON 本身的问题:从代码里复制过来带着 // 注释、用了单引号、对象或数组最后一项后面留了逗号——这三样在 JavaScript 里都合法,在 JSON 里都不合法。

时间戳的两种位数

日志和接口里的时间戳有 10 位和 13 位两种,前者是秒、后者是毫秒,把毫秒当秒解析会得到一个五万年后的日期,反过来则得到 1970 年附近。这是最常踩的坑,所以转换工具会按位数自动判断单位并把判断结果显示出来,而不是让你先选。