JSON 格式化与语法检查|支持 JSON5 转 JSON
以 2 空格缩进格式化 JSON,并报告语法错误所在的行和列。输入按 JSON5 解析,因此可以使用注释、单引号、不带引号的键和末尾逗号;输出始终是标准 JSON。
阅读压缩成一行的 API 响应。
支持 JSON 和 JSON5,可使用注释、单引号和末尾逗号;不会执行函数或 JavaScript 表达式。
JSON / JSON5 输入
格式化后的 JSON
适用场景
- 阅读压缩成一行的 API 响应。
- 把带注释的 JSON5 或 tsconfig 风格文件转成标准 JSON,交给不接受注释的工具。
使用方法
- 将 JSON 或 JSON5 粘贴到左侧编辑器,或加载 .json 文件。
- 如果出现错误,前往报告的行和列,检查引号、括号和逗号。
- 从右侧编辑器复制缩进后的标准 JSON。
JSON 或 JSON5 输入
// service config
{
name: 'billing-api',
port: 8080,
retries: [1, 2, 4,],
debug: false,
}格式化后的 JSON
{
"name": "billing-api",
"port": 8080,
"retries": [
1,
2,
4
],
"debug": false
}功能与限制
格式化在浏览器中完成,不会向服务器提交任何内容。
注释和原有的引号风格会被丢弃。缩进固定为 2 个空格;本页没有压缩或键排序选项。
值只作为数据解析,不会被执行。NaN 和 Infinity 无法用 JSON 表示,因此会被拒绝。
重复的键不会报错:以最后一个值为准,因此 {"a":1,"a":2} 会变成 {"a": 2}。
FAQ
能格式化包含注释的 JSON 吗?
可以。由于输入按 JSON5 读取,// 和 /* */ 注释都能被接受,但会从输出中删除,输出为标准 JSON。
为什么我的大整数变了?
数字会转为 JavaScript 双精度浮点数,超过 2^53 的整数会丢失精度:12345678901234567890 会输出为 12345678901234567000。请把长 ID 写成带引号的字符串。
会按 JSON Schema 校验吗?
不会。这里只检查语法,不检查 schema 定义的必填字段、类型和取值范围。