JSON-基本語法

?才畢業(yè)的開發(fā)小白,最近在使用node、php和vue,有興趣的小伙伴可以加群 134246716,大家一起學(xué)習(xí),這是一個(gè)新建群,有興趣的初學(xué)者可以來一起學(xué)習(xí)哦。

JSON基本語法

JSON 的語法可以表示以下三種類型的值。

  • 簡單值: 可以在 JSON 中表示 字符串、 數(shù)值布爾值null。但是不支持 Javascript 中的 undefined。
  • 對(duì)象: 是一種復(fù)雜數(shù)據(jù)類型,由一組無序的 鍵值對(duì) 組成,每個(gè)鍵值對(duì)的 可以是簡單值,也可以是復(fù)雜數(shù)據(jù)類型。
  • 數(shù)組: 也是一種復(fù)雜的數(shù)據(jù)類型,表示一組有序的列表,可以通過數(shù)組索引來訪問其中的值。數(shù)組的 也可以是任意類型—— 簡單值、對(duì)象 或是 數(shù)組。
簡單值

最簡單的 JSON 數(shù)據(jù)形式就是簡單值。比如,

  • 數(shù)值的表示方式:
5
  • 字符串的的方式:
"Hello World!"

JavaScript 字符串和JSON 字符串的最大區(qū)別在于,JSON 字符串必須使用 雙引號(hào)。

  • 布爾值:
false
true
  • null 值
null
對(duì)象

先來看一個(gè)標(biāo)準(zhǔn)的 JavaScript 對(duì)象字面量:

var person = {
  name: "Nicolas",
  age: 29
};

但 JSON 表示對(duì)象如下所示:

{
  "name":  "Nicolas",
  "age": 29
}

JSON 要求必須給對(duì)象的屬性加引號(hào)。實(shí)際上,在 JavaScript 中,對(duì)象字面量完全可以寫成下面

var person = {
  "name": "Nicolas",
  "age": 29
};

這里可以看出,JSON對(duì)象有兩個(gè)不一樣的地方:

  1. 沒有聲明變量;
  2. 末尾沒有分號(hào)。

屬性的值可以是簡單值,也可以是復(fù)雜類型值,如下例子:

{
  "name": "Nicolas",
  "age": 29,
  "school": {
    "name": "Merrimack College",
    "location": "North Andover, MA"
  }
}

上述例子中雖然有兩個(gè) "name" 屬性,但是它們分屬于兩個(gè)不同的對(duì)象,是可以的。同一個(gè)對(duì)象不應(yīng)該出現(xiàn)兩個(gè)同名屬性。

數(shù)組

JSON 中第二種復(fù)雜數(shù)據(jù)類型就是數(shù)組。數(shù)組可以是簡單值組成,如

[25, "hi", true]

也可以是各種類型值得組合:

[
  {
    "title": "Professional JavaScript",
    "authors": {
      "name": "Nicholas C. Zakas",
      "age": 51
    },
    "editon": 3,
    "year": 2011
  },
  {
    "title": "Professional JavaScript",
    "authors": [
      "Nicholas C. Zakas"
    ],
    "editon": 2,
    "year": 2009
  },
  {
    "title": "Professional JavaScript",
    "authors": [
      "Nicholas C. Zakas"
    ],
    "editon": 1,
    "year": 2006
  },
  {
    "title": "Professional Ajax",
    "authors": [
      "Nicholas C. Zakas",
      "Jeremy McPeak",
      "Joe Fawcett"
    ],
    "editon": 2,
    "year": 2008
  },
  {
    "title": "Professional Ajax",
    "authors": [
      {
        "name":  "Nicholas C. Zakas",
        "age": 35
      },
      {
        "name": "Jeremy McPeak",
        "age": 37
      },
      {
        "name": "Joe Fawcett",
        "age": 41
      }
    ],
    "editon": 1,
    "year": 2007
  }
]
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,533評(píng)論 0 13
  • 概要 64學(xué)時(shí) 3.5學(xué)分 章節(jié)安排 電子商務(wù)網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,799評(píng)論 0 3
  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對(duì)象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,674評(píng)論 0 4
  • 我們家的貓咪喜歡捉迷藏,只要有人跟它玩,它是百玩不厭的。 如果它吃飽喝足了,也睡夠了就會(huì)找你玩。先...
    善觀閱讀 305評(píng)論 0 4
  • 膝關(guān)節(jié)骨病是一種慢性疾病,住院治療時(shí)間有限決定了大部分患者出院后將繼續(xù)接受診治,只有系統(tǒng)而規(guī)范的治療方可取得更好效...
    樂道好古閱讀 2,045評(píng)論 0 0

友情鏈接更多精彩內(nèi)容