WEB前端程序开发Web前端之路让前端飞

Json5怎一个爽字了得

2020-08-28  本文已影响0人  全栈弄潮儿

JSON(JavaScript Object Notation),一种轻量级的数据交换格式,源于JavaScript,为ECMAScript的一个子集。其易于阅读和编写、易于编码和解析等特性,已被广泛应用于尤其配置及http下的序列化等众多方面。

json语法不支持注释,不支持字符串换行,所有的key都必须双引号,末尾不能有多余的逗号...等等,一大堆极其严格的要求和不支持的功能。

JSON5 和 JSON 的关系就像 ECMAScript 5 和 ECMAScript 3 的关系。JSON5 同样是 ECMAScript 5 的严格的子集。

JSON5是对JSON的扩展,其目的是能够让人们(程序猿)更加容易的阅读和编写。
按照官方介绍,JSON5相对于JSON增加了以下特性(优势) summary-of-features

这完全就是我想要的!安利给大家。

Json5 语法说明

JSON5是对JSON的扩展,让人可以更容易手工编写和维护。

JSON5的特性如下:

对象 Objects

{
    code:1,
    msg:"Hello"
}
{
    code:1,
    msg:"Hello",
}
{
    $name:"HellO",
    code:1,
    msg:'Hello',
}

数组 Arrays

[1, 2, 3,]

字符串 Strings

{
    $name:'HellO',
    code:1,
    msg:'Hello',
}
{
    $name:'HellO',
    $desc:"hello
    world!

    haha!
    ",
    code:1,
    msg:'Hello',
}
{
    code:1,
    msg:"Hello\nWorld\n!",
}

数字 Numbers

{
    code:0xFF
}
{
    a:.007,
    b:7.
    f:-.32e-3
}
{
    p:Infinity,
    n:-Infinity,
    b:NaN
}

注释 Comments

{
    // code表示结果代码
    code:1
    msg:"返回结果说明"
    /*
        json5的多行注释
        真是好爽啊,
        完全就是为Panda api而设计的
    */
}

允许多余的空白符 White Space

Code Points Description
U+0009: Horizontal tab
U+000A: Line feed
U+000B: Vertical tab
U+000C: Form feed
U+000D: Carriage return
U+0020: Space
U+00A0: Non-breaking space
U+2028: Line separator
U+2029: Paragraph separator
U+FEFF: Byte order mark
Unicode: Zs category    Any other character in the Space Separator Unicode category

官方相关说明介绍:

https://github.com/json5/json5​github.com


经典前端面试题每日更新,欢迎参与讨论,地址:https://github.com/daily-interview/fe-interview

上一篇 下一篇

猜你喜欢

热点阅读