NPM酷库044:json5,更可读的JSON

NPM酷库,天天两分钟,相识一个盛行NPM库。·

JSON是JS中数据交换时最经常运用的数据花样,其序列话和反序列化机能非常好,然则其语法却比较严厉,比方以下是一个正当的JS声明,却不是一个正当的JSON:

{ foo: 'bar' }

JSON花样强迫请求对象key必需以双引号包括,字符串也必需运用双引号,等等。

假如我们只是挪用 JSON.stringify()JSON.parse() 来举行数据的处置惩罚,那末也没什么关联,然则假如我们须要手写JSON,比方写配置文件或数据形式定义,那末严厉的JSON语法搜检会给编码带来许多不方便。

JSON5

JSON5 是一个JSON花样的扩大,目标是能够让人类更轻易读写数据文件。JSON5只是一个第三方的库,并不是JSON花样的继任者。JSON5相对于JSON,有以下各个方面上风。

对象

  • 属性key能够不必引号包括
  • 属性key能够用单引号包括
  • 能够有尾部过剩逗号

数组

  • 能够有尾部过剩逗号

字符串

  • 能够以单引号包括
  • 支撑多行字符串

数字

  • 能够以16进制示意
  • 能够以小数点开首或末端
  • 支撑 Infinity, -Infinity, NaN, 和 -NaN.
  • 能够显式声明正号 +

解释

  • 许可当行和多行解释

以下就是一个正当的JSON5花样文件:

{
    foo: 'bar',
    while: true,

    this: 'is a \
multi-line string',

    // this is an inline comment
    here: 'is another', // inline comment

    /* this is a block comment
       that continues on another line */

    hex: 0xDEADbeef,
    half: .5,
    delta: +10,
    to: Infinity,   // and beyond!

    finally: 'a trailing comma',
    oh: [
        "we shouldn't forget",
        'arrays can have',
        'trailing commas too',
    ],
}

处置惩罚JSON5数据:

const JSON5 = require('json5');

let obj = JSON5.parse('{unquoted:"key",trailing:"comma",}');
let str = JSON5.stringify(obj);

参考资料

https://github.com/json5/json5

http://json5.org

    原文作者:脉冲云_梁兴臣
    原文地址: https://segmentfault.com/a/1190000013315759
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞