什麼是 JSON?
JSON 通常在資料從伺服器傳送到網頁時使用。
JSON 是一種輕量級的資料儲存和傳輸格式。
當資料從伺服器傳送到網頁時,經常使用 JSON。
JSON 是“自描述的”,並且易於理解
JSON 示例
此示例定義了一個 employees 物件:包含 3 條員工記錄(物件)的陣列。
{
"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]
}
JSON 語法規則
- 資料採用“名稱/值”對的形式
- 資料由逗號分隔
- 花括號包含物件
- 方括號包含陣列
JavaScript Object Notation
JSON 格式在語法上與建立 JavaScript 物件時的程式碼完全相同。
由於這種相似性,JavaScript 程式可以輕鬆地將 JSON 資料轉換為原生的 JavaScript 物件。
JSON 語法源自 JavaScript 物件表示法的語法,但 JSON 格式僅為文字。用於讀取和生成 JSON 資料的程式碼可以用任何程式語言編寫。
JSON 資料 - 名稱和值
JSON 資料以名稱/值對的形式編寫,就像 JavaScript 物件屬性一樣。
“名稱/值”對由一個欄位名(用雙引號括起來)、一個冒號,然後是一個值組成
"firstName":"John"
JSON 名稱需要雙引號。JavaScript 名稱則不需要。
JSON 物件
JSON 物件寫在大括號內。
就像在 JavaScript 中一樣,物件可以包含多個名稱/值對。
{"firstName":"John", "lastName":"Doe"}
JSON 陣列
JSON 陣列寫在方括號內。
就像在 JavaScript 中一樣,陣列可以包含物件。
"employees":[
{"firstName":"John", "lastName":"Doe"},
{"firstName":"Anna", "lastName":"Smith"},
{"firstName":"Peter", "lastName":"Jones"}
]
在上面的示例中,"employees" 物件是一個數組。它包含三個物件。
每個物件都是一個人的記錄(包含名字和姓氏)。
將 JSON 文字轉換為 JavaScript 物件
JSON 的一個常見用途是從 Web 伺服器讀取資料,並在網頁中顯示資料。
為簡單起見,這可以使用字串作為輸入來演示。
首先,建立一個包含 JSON 語法的 JavaScript 字串。
var text = '{ "employees" : [' +
'{ "firstName":"John" , "lastName":"Doe" },' +
'{ "firstName":"Anna" , "lastName":"Smith" },' +
'{ "firstName":"Peter" , "lastName":"Jones" } ]}';
然後,使用 JavaScript 內建的 JSON.parse() 函式將字串轉換為 JavaScript 物件。
var obj = JSON.parse(text);
最後,在頁面中使用新的 JavaScript 物件。
示例
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML =
obj.employees[1].firstName + " " + obj.employees[1].lastName;
</script>
完整的 JSON 教程
以上是對 JSON 的簡要介紹。
如需完整的 JSON 教程,請訪問 W3Schools JSON 教程。