Try   HackMD

JSON(JavaScript Object Notation)


JSON是甚麼

JSON是一個輕量的資料交換格式,常見應用在於前端送出的request可以為JSON格式,再由後端API解析,做處理後再以JSON格式resqonse。


相關知識

  • JS
  • OOP的概念

知識點

  • JSON格式在開發WEB前後端都相當重要,除了些老舊網頁可能還使用XML。
  • JSON格式的組成

json介紹

一、資料型態

JSON跟各種程式語言都一樣都有資料型態

  1. 數值:十進位數,不能有前導0,可以為負數,可以有小數部分。還可以用e或者E表示指數部分。不能包含非數,如NaN(Not a number)。不區分整數與浮點數。JavaScript用雙精度浮點數表示所有數值。

  2. 字串:以雙引號""括起來的零個或多個Unicode碼位。支援反斜槓開始的跳脫字元序列。

  3. 布林值:表示為true或者false。

  4. 陣列:有序的零個或者多個值。每個值可以為任意類型。陣列使用方括號[]包裹。多個陣列元素之間用逗號,分隔,形如:[value, value]。

  5. 物件:若干無序的「鍵-值對」(key-value pairs),其中鍵只能是字串[1]。建議但不強制要求物件中的鍵是獨一無二的。物件以花括號{}包裹。多個鍵-值對之間使用逗號,分隔。鍵與值之間用冒號:分隔。

  6. 空值:值寫為null

json在交換時必須為UTF-8的編碼

二、範例

觀看以下範例

{
  "squadName" : "Super hero squad",
  "homeTown" : "Metro City",
  "formed" : 2016,
  "secretBase" : "Super tower",
  "active" : true,
  "members" : [
    {
      "name" : "Molecule Man",
      "age" : 29,
      "secretIdentity" : "Dan Jukes",
      "powers" : [
        "Radiation resistance",
        "Turning tiny",
        "Radiation blast"
      ]
    },
    {
      "name" : "Madame Uppercut",
      "age" : 39,
      "secretIdentity" : "Jane Wilson",
      "powers" : [
        "Million tonne punch",
        "Damage resistance",
        "Superhuman reflexes"
      ]
    },
    {
      "name" : "Eternal Flame",
      "age" : 1000000,
      "secretIdentity" : "Unknown",
      "powers" : [
        "Immortality",
        "Heat Immunity",
        "Inferno",
        "Teleportation",
        "Interdimensional travel"
      ]
    }
  ]
}

三、閱讀器

方便閱讀json格式的資料

  1. JSON Viewer:他是GoogleChrome的擴充套件。
  2. 待新增,我目前使用第一個,有其他好用的再新增

tags: javascriptjson