JSON
1. 什麼是JSON?
-
JSON 指的是 JavaScript 對象表示法(JavaScript Object Notation)
-
JSON 是輕量級的文本數據交換格式
-
JSON 獨立於語言,使用 Javascript語法來描述數據對象,但是 JSON 仍然獨立於語言和平臺
-
JSON 具有自我描述性,更易理解
簡單地說 ,JSON 可以將 JavaScript 對象中表示的一組數據轉換爲字符串,然後就可以在網絡或者程序之間輕鬆地傳遞這個字符串,並在需要的時候將它還原爲各編程語言所支持的數據格式,例如在 PHP 中,可以將 JSON 還原爲數組或者一個基本對象。在用到AJAX時,如果需要用到數組傳值,這時就需要用JSON將數組轉化爲字符串。
2. JSON語法規則
- 數據在名稱/值對中
- 數據由逗號分隔
- 大括號保存對象
- 中括號保存數組
JSON 使用 JavaScript 語法,但是 JSON 格式僅僅是一個文本。文本可以被任何編程語言讀取及作爲數據格式傳遞。
3.JSON名稱/值對
- JSON 數據格式爲鍵/值對,就像 JavaScript 對象屬性。
鍵/值對包括字段名稱(在雙引號中),後面一個冒號,然後是值:
“name”:“Merry”
4.JSON對象
- JSON 對象在大括號 {} 中書寫
- 對象可以包含多個名稱/值對(key/value(鍵/值)對)
key 必須是字符串,value 可以是合法的 JSON 數據類型(字符串, 數字, 對象, 數組, 布爾值或 null):
{ "name":"百度" , "url":"www.baidu.com" }
5.JSON數組
- JSON 數組在中括號中書寫
- 數組可包含多個對象
JSON數組:
[ "Google", "Runoob", "Taobao" ]
JSON對象中的數組:
{
"sites": [{ "name":"菜鳥教程" , "url":"www.runoob.com" },
{ "name":"google" , "url":"www.google.com" },
{ "name":"微博" , "url":"www.weibo.com" }]
}
6.JSON文件
- JSON 文件的文件類型是 “.json”
- JSON 文本的 MIME 類型是 “application/json”
7.JSON字符串轉換爲JavaScript對象
JSON 最常見的用法之一,是從 web 服務器上讀取 JSON 數據作爲文件或作爲 HttpRequest ,將 JSON 數據轉換爲 JavaScript 對象,然後在網頁中使用該數據。
轉換前首先了解兩個函數:
函數 | 描述 |
---|---|
JSON.stringify() | 用於將 JavaScript 值轉換爲 JSON 字符串。 |
JSON.parse() | 用於將一個 JSON 字符串轉換爲 JavaScript 對象 |
實例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JSON轉換爲JS對象</title>
</head>
<body>
<h2>爲 JSON 字符串創建對象</h2>
<p id="demo"></p>
<script>
var text = '{ "sites" : [' +
'{ "name":"Runoob" , "url":"www.runoob.com" },' +
'{ "name":"Google" , "url":"www.google.com" },' +
'{ "name":"Taobao" , "url":"www.taobao.com" } ]}';
obj = JSON.parse(text); //利用轉換函數
document.getElementById("demo").innerHTML = obj.sites[1].name + " " + obj.sites[1].url;
</script>
</body>
</html>
運行結果爲: