《JavaScript JSON》

JavaScript JSON


JSON 是用於存儲和傳輸數據的格式。

JSON 通常用於服務端向網頁傳遞數據 。


什麼是 JSON?

  • JSON 英文全稱 JavaScript Object Notation
  • JSON 是一種輕量級的數據交換格式。
  • JSON是獨立的語言 *
  • JSON 易於理解。
Note * JSON 使用 JavaScript 語法,但是 JSON 格式僅僅是一個文本。
文本可以被任何編程語言讀取及作爲數據格式傳遞。

JSON 實例

以下 JSON 語法定義了 sites 對象: 3 條網站信息(對象)的數組:

JSON 實例

{"sites":[
    {"name":"Runoob", "url":"www.runoob.com"}, 
    {"name":"Google", "url":"www.google.com"},
    {"name":"Taobao", "url":"www.taobao.com"}
]}

 


JSON 格式化後爲 JavaScript 對象

JSON 格式在語法上與創建 JavaScript 對象代碼是相同的。

由於它們很相似,所以 JavaScript 程序可以很容易的將 JSON 數據轉換爲 JavaScript 對象。


JSON 語法規則

  • 數據爲 鍵/值 對。
  • 數據由逗號分隔。
  • 大括號保存對象
  • 方括號保存數組

JSON 數據 - 一個名稱對應一個值

JSON 數據格式爲 鍵/值 對,就像 JavaScript 對象屬性。

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

"name":"Runoob"

 


JSON 對象

JSON 對象保存在大括號內。

就像在 JavaScript 中, 對象可以保存多個 鍵/值 對:

{"name":"Runoob", "url":"www.runoob.com"}

 


JSON 數組

JSON 數組保存在中括號內。

就像在 JavaScript 中, 數組可以包含對象:

"sites":[
    {"name":"Runoob", "url":"www.runoob.com"}, 
    {"name":"Google", "url":"www.google.com"},
    {"name":"Taobao", "url":"www.taobao.com"}
]

在以上實例中,對象 "sites" 是一個數組,包含了三個對象。

每個對象爲站點的信息(網站名和網站地址)。


JSON 字符串轉換爲 JavaScript 對象

通常我們從服務器中讀取 JSON 數據,並在網頁中顯示數據。

簡單起見,我們網頁中直接設置 JSON 字符串 (你還可以閱讀我們的 JSON 教程):

首先,創建 JavaScript 字符串,字符串爲 JSON 格式的數據:

var text = '{ "sites" : [' +
'{ "name":"Runoob" , "url":"www.runoob.com" },' +
'{ "name":"Google" , "url":"www.google.com" },' +
'{ "name":"Taobao" , "url":"www.taobao.com" } ]}';

然後,使用 JavaScript 內置函數 JSON.parse() 將字符串轉換爲 JavaScript 對象:

var obj = JSON.parse(text);

最後,在你的頁面中使用新的 JavaScript 對象:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鳥教程(runoob.com)</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>

相關函數

函數 描述
JSON.parse() 用於將一個 JSON 字符串轉換爲 JavaScript 對象。
JSON.stringify() 用於將 JavaScript 值轉換爲 JSON 字符串。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章