JSON 語法

2023-04-15 16:32 更新

JSON 使用 JavaScript 語法來描述數(shù)據(jù)對象,但是 JSON 仍然獨立于語言和平臺。

JSON 語法是 JavaScript 語法的子集。


我們來快速瀏覽一下 JSON 的基本語法。JSON 的語法基本上可以視為 JavaScript 語法的一個子集,包括以下內(nèi)容:

  • 數(shù)據(jù)使用名/值對表示。
  • 使用大括號保存對象,每個名稱后面跟著一個 ':'(冒號),名/值對使用 ,(逗號)分割。
  • 使用方括號保存數(shù)組,數(shù)組值使用 ,(逗號)分割。

下面是一個簡單的示例:

{
    "book": [
        {
            "id":"01",
            "language": "Java",
            "edition": "third",
            "author": "Herbert Schildt"
        },
        {
            "id":"07",
            "language": "C++",
            "edition": "second",
            "author": "E.Balagurusamy"
    }]
}

JSON 支持以下兩種數(shù)據(jù)結(jié)構(gòu):

  • 名/值對集合: 這一數(shù)據(jù)結(jié)構(gòu)由不同的編程語言支持。
  • 有序的值列表: 包括數(shù)組,列表,向量或序列等等。

JSON 語法規(guī)則

JSON 語法是 JavaScript 對象表示法語法的子集。

JSON 語法規(guī)則不復雜,它參考了 C 語言家族的一些習慣,學習起來并不會感到陌生。

  • 數(shù)據(jù)在名稱/值對中
  • 數(shù)據(jù)由逗號分隔
  • 花括號保存對象
  • 方括號保存數(shù)組

JSON 名稱/值對

JSON 數(shù)據(jù)的書寫格式是:名稱/值對。

{ "flag":true }

名稱/值對包括字段名稱(在雙引號中),后面寫一個冒號,然后是值:

"firstName" : "John"

這很容易理解,等價于這條 JavaScript 語句:

firstName = "John"

JSON 值

JSON 值可以是:

  • 數(shù)字(整數(shù)或浮點數(shù))
  • 字符串(在雙引號中)
  • 邏輯值(true 或 false)
  • 數(shù)組(在方括號中)
  • 對象(在花括號中)
  • null

JSON 對象

JSON 對象在花括號({})中書寫:

對象可以包含多個名稱/值對:

{ "firstName":"John" , "lastName":"Doe" }

這一點也容易理解,與這條 JavaScript 語句等價:

firstName = "John"     
lastName = "Doe"

JSON 數(shù)組

JSON 數(shù)組在方括號中書寫:

數(shù)組可包含多個對象:

{   
    "employees": [   
        { "firstName":"John" , "lastName":"Doe" },   
        { "firstName":"Anna" , "lastName":"Smith" },   
        { "firstName":"Peter" , "lastName":"Jones" }   
    ]
}

在上面的例子中,對象 "employees" 是包含三個對象的數(shù)組。每個對象代表一條關(guān)于某人(有姓和名)的記錄。



JSON 布爾值

JSON 布爾值可以是 true 或者 false:

{ "w3cschool":true }

JSON null

JSON 可以設(shè)置 null 值:

{ "w3cschool":null }

JSON 使用 JavaScript 語法

因為 JSON 使用 JavaScript 語法,所以無需額外的軟件就能處理 JavaScript 中的 JSON。

通過 JavaScript,您可以創(chuàng)建一個對象數(shù)組,并像這樣進行賦值:

實例

var employees = [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName": "Jones" }
];

可以像這樣訪問 JavaScript 對象數(shù)組中的第一項:

employees[0].lastName;

返回的內(nèi)容是:

Doe

可以像這樣修改數(shù)據(jù):

employees[0].firstName = "Jonatan";

嘗試一下 ?
 

在下面的章節(jié),您將學到如何把 JSON 文本轉(zhuǎn)換為 JavaScript 對象。


JSON 文件

  • JSON 文件的文件類型是 ".json"
  • JSON 文本的 MIME 類型是 "application/json"

在下節(jié)內(nèi)容中,我們將介紹如何使用JSON把文本轉(zhuǎn)換為JavaScript對象。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號