JSON5 格式化
在线格式化与校验 JSON5:支持注释、尾逗号、单引号与无引号键,可输出标准 JSON 或 JSON5(含按就近的键贴回注释),非法输入直接指出第几行第几列。
浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。
结果
这个工具能做什么
- 把带注释、尾逗号、单引号、无引号键的 JSON5 配置(VS Code、tsconfig 风格)格式化成规范文本,输出标准 JSON 或继续用 JSON5。
- 校验 JSON5 语法:报错会指出第几行第几列和原因(非法字符、非法转义、未转义控制字符、数字格式),不用猜哪里写错了。
- 想保留配置文件里的注释时,勾选「保留注释」会把源文件里的注释按就近的键贴回输出,行尾注释贴在原来那一行,独立注释贴在对应键上方。
- 输出标准 JSON 时自动去掉 JSON5 的宽松语法(注释、尾逗号、无引号键、单引号),得到能被任何 JSON 解析器读的文本。
示例
输入
// UniKit 示例
{
name: 'UniKit', // 名称
version: 2, /* 版本 */
tags: ['json5', 'format',],
}输出
{
// UniKit 示例
name: "UniKit", // 名称
version: 2, /* 版本 */
tags: [
"json5",
"format",
],
}这是「JSON5 + 美化 + 保留注释」的输出:单引号统一成双引号,尾逗号在 JSON5 里保留(切到标准 JSON 输出会被去掉)。
常见问题
JSON5 和标准 JSON 有什么区别?
JSON5 允许注释(// 和 /* */)、尾逗号、单引号字符串、无引号的对象键、十六进制数字、前导 + 号、.5 和 5. 这种小数写法,以及多行字符串。标准 JSON 一律不支持,所以给别的系统喂数据时要切到标准 JSON 输出。
注释是怎么「贴回」对应键的?
扫描源文本时会记下每条注释的位置以及它前面最近的键或后面最近的键:行尾注释绑到它前面的键,独占一行的注释绑到它后面的键,然后按这个锚点在格式化结果里找对应行插入。绑不上任何键的注释会统一放到文件末尾。
标准 JSON 输出里 Infinity 和 NaN 变成什么了?
JSON5 允许 Infinity、NaN、+Infinity 字面量,但标准 JSON 没有这些值,JSON.stringify 会把它们写成 null。需要保留这些值就继续用 JSON5 输出。
压缩和美化有什么区别?
美化按你选的缩进(2/4 空格或 Tab)多行输出;压缩把所有内容挤成一行,适合塞进环境变量或减小体积。压缩模式下注释不会保留,缩进选项也不生效。
我的内容会被上传吗?
不会。解析与格式化全在浏览器本地完成,不发网络请求,断网可用。
关键词:json5json5 formatterjson5 格式化json5 校验json5 validatorjson5 parser注释 jsoncommentstrailing comma尾逗号单引号unquoted keys