美文网首页
JSON 是什么

JSON 是什么

作者: 缺月楼 | 来源:发表于2019-12-05 14:45 被阅读0次

    JSON 是一种数据格式。什么是格式?你可以理解为语法。JSON 的格式灵感来自于 JS 对象字面量的语法,但是两者没有任何关联。

    这种格式可以描述三种数据。

    • object(无序的「键-值」集合)
    {}
    {"key1": "value1"} // string 对应 "key1",value 对应 "value1",后面会讲
    {"key1": "value1", "key2": "value2"}
    
    • array(有序的值集合)
    []
    [1]
    [1,"hi"]
    
    • value
      value 也可以是 object 或 array,所以下面的语法成立:
    {"key1": { "key2" : "value2" } }
    [ 1, [ 2, 3 ] ]
    

    另外值还可以是 string、number、true、false 和 null。
    string 的语法如下:

    "你好"
    "\"你好\""
    "\\你好\\"
    "\/你好\/"
    "\b\f\n\r\t特殊符号"
    "\u4f60用编码表示字符"
    

    上面都是合法的 string。这也是「JSON 中字符串必须使用双引号」的原因——规定如此。

    另外需要特殊提醒一下,true、false 和 null 都是合法的 JSON。

    JSON 和 JS Object 的区别

    简单来说,两种没有任何关联。

    JSON 语法的作者是道格拉斯(Douglas Crockford),JS 语法的作者是布兰登・艾奇(Brendan Eich)。道格拉斯发明 JSON 的时候参考了 JS 的对象语法,仅此而已。

    如果硬要说区别:

    1. JSON 的字符串必须用双引号。

    2. JSON 无法表示 undefined,只能表示 "undefined"

    3. JSON 无法表示函数

    4. JSON 的对象语法不能有引用

    相关文章

      网友评论

          本文标题:JSON 是什么

          本文链接:https://www.haomeiwen.com/subject/osvdgctx.html