JSON簡介

JSON是一種很好的存儲數據的格式,在JavaScript中廣泛使用,但不僅限於此-了解所有信息!

JSON是一種用於存儲和交換數據的文件格式。

數據存儲在一組鍵值對中。

這些數據是人類可讀的,這使得JSON非常適合手動編輯。

這是JSON字符串的示例:

{
  "name": "Flavio",
  "age": 35
}

從這個小片段中,您可以看到鍵被用雙引號引起來,冒號將鍵和值分開,並且值可以是不同的類型。

鍵值集用逗號分隔。

JSON文件中的間距(空格,製表符,換行)無關緊要。以上相當於

{"name": "Flavio","age": 35}

或者

{"name":
"Flavio","age":
35}

但是一如既往,格式更好的數據更易於理解。

JSON誕生於2002年,由於其易用性和靈活性而廣受歡迎,儘管JSON起源於JavaScript世界,但它迅速傳播到其他編程語言。

它在ECMA-404標準

JSON字符串通常存儲在.json文件並通過網絡與application/jsonMIME類型。

資料類型

JSON支持一些基本數據類型:

  • Number:任何沒有用引號引起來的數字
  • String:任何用引號引起來的字符集
  • Booleantrue或者false
  • Array:值列表,用方括號括起來
  • Object:一組括在大括號中的鍵/值對
  • null: 這null單詞,代表一個空值

任何其他數據類型都必須序列化為字符串(然後反序列化)才能存儲在JSON中。

用JavaScript編碼和解碼JSON

ECMAScript 5在2009年推出了JSONJavaScript標準中的對象,除其他外,該對像還提供了JSON.parse()JSON.stringify()方法。

在將其用於JavaScript程序之前,必須先解析字符串格式的JSON並將其轉換為JavaScript可以使用的數據。

JSON.parse()將JSON字符串作為其參數,並返回一個包含已解析的JSON的對象:

JSON.stringify()將JavaScript對像作為其參數,並返回一個以JSON表示它的字符串:

JSON.parse()也可以接受一個可選的第二個參數,稱為reviver函數。您可以使用它來掛鉤解析並執行任何自定義操作:

JSON.parse(string, (key, value) => {
  if (key === 'name') {
    return `Name: ${value}`
  } else {
    return value
  }
})

嵌套對象

您可以使用嵌套對象將數據組織到JSON文件中:

{
  "name": {
    "firstName": "Flavio",
    "lastName": "Copes"
  },
  "age": 35,
  "dogs": [
    { "name": "Roger" },
    { "name": "Syd" }
  ],
  "country": {
    "details": {
      "name": "Italy"
    }
  }
}

使用JSON的在線工具

您可以使用許多有用的工具。

其中之一是JSONLint,即JSON驗證程序。使用它可以驗證JSON字符串是否有效。

JSONFormatter是格式化JSON字符串的好工具,因此根據您的約定,它更具可讀性。

JSON模式

儘管JSON從一開始就非常靈活,但是有時您需要更嚴格的組織來保持工作狀態。

這是什麼時候JSON模式發揮作用。這是一種根據您創建的特定格式註釋和驗證JSON文檔的方法。

免費下載我的JavaScript初學者手冊


更多js教程: