概览
| 输入 | 粘贴或输入的JSON |
|---|---|
| 输出 | 相同的JSON,缩进或压缩为一行 |
| 缩进 | 2、4或制表符 |
| 异常处理 | 指出错误具体位置,而非仅提示出错 |
| 运行环境 | 完全在浏览器中运行——无文件上传至服务器 |
| 价格 | 免费,无需账号或注册 |
| 离线 | 首次访问后无需联网即可使用 |
纯本地运行的JSON解析
传统的在线工具通常会将您的代码发送至远程服务器进行处理,这在处理包含敏感API密钥或私人用户数据的JSON时存在极大的安全隐患。ToolMole采用纯前端技术,您的所有输入都会直接在浏览器内核中进行解析与处理。
这意味着无论数据量多大,不仅响应速度能达到毫秒级,而且数据绝不会离开您的设备。解析成功后,工具仅通过重排空格与缩进生成美化或压缩版本,原有的键值对顺序、数据结构和内容将保持原样,不会发生任何篡改。
严格模式校验与错误定位
本工具遵循严格的JSON标准规范。当输入包含语法错误时,解析器会在遇到首个无法识别的字符处立即停止,并向您反馈具体的错误原因及对应的行号,帮助您快速排查接口响应或配置文件中的问题。
需要注意的是,由于解析器是顺序读取的,有时报错位置可能会在实际错误发生处的后方。例如,如果您漏掉了一个逗号,解析器通常会在读取到下一行的键名时才发现结构异常并抛出错误。因此,排查时建议结合报错行及其上一行代码进行联合检查。
JSON与JavaScript对象的区别
许多开发者在调试时,会直接将JavaScript控制台中的对象复制过来,这往往会导致解析失败并提示意外的标记(unexpected token)。这是因为JavaScript对象的语法比标准JSON宽松得多。
严格的JSON格式要求所有的键名必须使用双引号包裹,且字符串值也只能使用双引号。像单引号字符串、尾随逗号(在最后一个键值对后加逗号)以及未加引号的键名,在JavaScript中是合法的,但在标准JSON中均被视为非法输入。本工具仅执行格式化和校验,不支持注释,也不会自动修复这些非标准语法。
常见问题
为什么看似正确的输入会提示意外的标记(unexpected token)错误?
这通常是因为数据中包含了非标准JSON语法的元素。标准JSON严格要求键名和字符串必须使用双引号,不支持单引号或无引号的键名,且不允许在最后一个元素后添加多余的尾随逗号。
我可以在JSON中添加注释吗?
不可以。标准的JSON规范本身不支持任何形式的注释(如双斜杠或块注释)。如果您的输入中包含注释,解析器将视其为语法错误并停止处理。
格式化或压缩操作会改变原有数据的值吗?
不会。只要输入是合法的JSON,本工具只会重写数据之间的空格、换行和缩进。所有的键名顺序、数据类型以及具体的数值都会完全保持您输入时的原样。
为什么报错指出的行号有时在实际错误代码的下方?
解析器是逐个字符顺序读取数据的。当代码缺失逗号或括号时,解析器往往要一直读取到下一个不合逻辑的字符(如紧接着的下一个键名)才能确认语法崩溃,因此报错位置常常滞后于真正的遗漏点。
我的JSON数据会被发送到服务器吗?
绝对不会。ToolMole的所有解析和格式化操作都完全在您的本地浏览器中执行。您的数据不会经过任何网络传输,确保了极高的隐私安全。
发现问题或有改进建议? 告诉我们