网虫Spider订阅
← 全部工具

JSON 格式化与校验

粘贴接口响应即可:树形查看、格式化、压缩、转义,点任意节点拿到它的访问路径。 JSONP 回调和转义过的 JSON 字符串会自动还原,不合法时指出第几行第几列、错在哪里。 解析全部在你的浏览器里完成,内容不会发送到服务器。

左侧粘贴 JSON 后自动解析。

和一般 JSON 格式化工具的区别

  • 大数不丢精度。接口里 19 位的 ID 如果写成数字, 浏览器自带的 JSON.parse 会把它变成最接近的双精度浮点数,末几位悄悄改掉:1789982744123456789 读进来是 1789982744123456800。 这里用自己写的解析器,数字按原文保留,超出安全范围的会标上「大数」。
  • 数字原样输出。1.101E5 格式化之后还是原来的写法, 不会被改成 1.1100000。对照签名原文时这一点很要紧。
  • 常见外壳自动剥掉。callback({…}) 形式的 JSONP、 被 JSON.stringify 多包了一两层的字符串、 日志里去掉外层引号的 {\"a\":1}, 都会先还原再解析,并在输入框下方注明做过什么处理。
  • 中文转 \u。勾选后输出与 Python json.dumps 默认的 ensure_ascii=True 一致。 签名算法对请求体做摘要时,差一个转义结果就全不一样。

常见的不合法写法

  • 最后一项后面多一个逗号:JavaScript 对象字面量允许,JSON 不允许。
  • 用单引号,或者键不加引号:那是 JS 对象,不是 JSON。
  • 出现 undefinedNaN、注释:JSON 里都没有这些。
  • 字符串里直接换行:要写成 \n。