JSON5 – JSON for Humans | JSON5
JSON5是JSON文件格式的扩展,旨在更易于手动编写和维护(例如用于配置文件)。不用于机器间通信(请继续使用JSON或其他文件格式进行该类操作)。JSON5于2012年开始,截至2022年,每周下载量超过6500万次,排名npm上最受依赖包的前0.1%,被主要项目如Chromium、Next.js、Babel、Retool、WebStorm等采用,同时也原生支持苹果平台,如MacOS和iOS。
JSON5数据交换格式形式上是JSON的超集(因此有效的JSON文件始终有效的JSON5文件),扩展语法以包括ECMAScript 5.1(ES5)的一些规范。它也是ES5的子集,有效的JSON5文件也会始终有效的ES5文件。
- 支持单引号字符串
- 支持注释
- 支持数组或者对象的尾随逗号
- 支持16进制数字
- 支持数字的小数点在开头或者结尾
- 等等
例如:
json
{
// comments
unquoted: 'and you can quote me on that',
singleQuotes: 'I can use "double quotes" here',
lineBreaks: "Look, Mom! \
No \\n's!",
hexadecimal: 0xdecaf,
leadingDecimalPoint: .8675309, andTrailing: 8675309.,
positiveSign: +1,
trailingComma: 'in objects', andIn: ['arrays',],
"backwardsCompatible": "with JSON",
}
{
// comments
unquoted: 'and you can quote me on that',
singleQuotes: 'I can use "double quotes" here',
lineBreaks: "Look, Mom! \
No \\n's!",
hexadecimal: 0xdecaf,
leadingDecimalPoint: .8675309, andTrailing: 8675309.,
positiveSign: +1,
trailingComma: 'in objects', andIn: ['arrays',],
"backwardsCompatible": "with JSON",
}