NPM酷库,每天两分钟,了解一个流行的NPM库。·JSON是JS中最常用的数据交换数据格式。它的序列化和反序列化性能非常好,但是它的语法比较严格。比如下面是合法的JS声明,但不是合法的JSON:{foo:'bar'}JSON格式规定对象键必须用双引号括起来,字符串也必须用双引号等等。如果我们只是调用JSON.stringify()和JSON.parse()进行数据处理,那么无所谓,但是如果我们需要手工编写JSON,比如编写配置文件或者数据模式定义,那么严格的JSON语法检查会给Coding带来很多不便。JSON5JSON5是JSON格式的扩展,使人类更容易读写数据文件。JSON5只是一个第三方库,并不是JSON格式的继承者。与JSON相比,JSON5有以下优点。Object:属性键可以不带引号属性键可以包含在单引号中末尾可以有额外的逗号数组:末尾可以有额外的逗号字符串:可以包含在单引号中支持多行字符串数字:可以以十六进制表示Infinity、-Infinity、NaN和-NaN支持在小数点的开头或结尾。可以显式声明正号+注释:当行和多行注释如下是合法的JSON5格式文件时允许:{foo:'bar',while:true,this:'isa\multi-linestring',//这里是内联注释:'isanother',//内联注释/*这是在另一行继续的块注释*/hex:0xDEADbeef,half:.5,delta:+10,to:无限与超越!finally:'atrailingcomma',oh:["weshouldn'tforget",'arrayscanhave','trailingcommastoo',],}处理JSON5数据:constJSON5=require('json5');letobj=JSON5.parse('{unquoted:"key",trailing:"comma",}');letstr=JSON5.stringify(obj);参考https://github.com/json5/json5http://json5.org
