吃得下注释
单行 // 与多行 /* */ 都会被丢掉,只保留数据。重要说明请另存在 README,不要指望注释能进标准 JSON。
适合「给人看的配置」转成「给程序读的 JSON」这一步。
也可通过 #data={"name":"Ada"} 或 #url=... 灌入数据,读完即从地址栏清除。
JSON5 是写配置时更宽松的超集:允许注释、尾逗号、单引号和无引号键名。本页把它解析后输出标准 JSON,方便再交给接口或其它工具。从 VS Code、webpack 配置或手写 JS 对象里拷出来的内容,往往不能直接 JSON.parse ,可以先过这一页。
单行 // 与多行 /* */ 都会被丢掉,只保留数据。重要说明请另存在 README,不要指望注释能进标准 JSON。
适合「给人看的配置」转成「给程序读的 JSON」这一步。
对象和数组最后一项后面的逗号不再导致解析失败。这也是从 JS / TS 对象字面量复制时最常见的报错原因。
转换后输出不会保留尾逗号,符合 RFC 8259。
结果可被 JSON.parse 和大多数后端直接使用。键名会补上双引号,单引号字符串会改成双引号。
转完可继续格式化、校验或生成 Schema。
{
// 功能开关
name: 'json5',
enabled: true,
tags: ['a', 'b',],
}
{
"name": "json5",
"enabled": true,
"tags": [
"a",
"b"
]
}
不会。标准 JSON 没有注释,转换后注释会被丢弃。
JSONC 通常只加注释;JSON5 还放宽了键名、引号和数字写法。本页按 JSON5 规则解析。
JSON5 允许这类数字写法。转成标准 JSON 后,下游是否接受取决于具体解析器,请抽查。
不能。只解析数据字面量,不会运行函数或计算表达式。
JSON.parse 的标准 JSON。 JSON5 适合「人写、机器读之前先规范化」。对外 API 仍应只接受标准 JSON,避免客户端各写各的超集。