NPM酷库,每天两分钟,了解一个流行NPM库。·
JSON是JS中数据交换时最常用的数据格式,其序列话和反序列化性能非常好,但是其语法却比较严格,比如以下是一个合法的JS声明,却不是一个合法的JSON:
JSON格式强制要求对象key必须以双引号包含,字符串也必须使用双引号,等等。
如果我们只是调用 和 来进行数据的处理,那么也没什么关系,但是如果我们需要手写JSON,比如写配置文件或数据模式定义,那么严格的JSON语法检查会给编码带来很多不便。
JSON5
JSON5 是一个JSON格式的扩展,目的是能够让人类更容易读写数据文件。JSON5只是一个第三方的库,并非JSON格式的继任者。JSON5相对于JSON,有如下各个方面优势。
对象:
属性key可以不用引号包含
属性key可以用单引号包含
可以有尾部多余逗号
数组:
可以有尾部多余逗号
字符串:
可以以单引号包含
支持多行字符串
数字:
可以以16进制表示
可以以小数点开头或结尾
支持 , , , 和 .
可以显式声明正号
注释:
允许当行和多行注释
如下就是一个合法的JSON5格式文件:
处理JSON5数据:
参考资料
https://github.com/json5/json5
http://json5.org
领取专属 10元无门槛券
私享最新 技术干货