什么是JSON
JavaScript Object Notation,JS對象表示方法。
是輕量級的文本數(shù)據(jù)交換格式。
與XML類似。
XML和JSON的區(qū)別
相同:
- 都是純文本
- 具有“自我描述性”,人類可讀
- 具有層級結構
- 可通過JS進行解析
- 數(shù)據(jù)可使用AJAX進行傳輸
不同:
對JSON來說:
- 沒有結束標簽
- 更短
- 讀寫速度更快
- 使用數(shù)組
- 無保留字
- 可使用內建的 JavaScript eval() 方法進行解析
語法
基本語法規(guī)則在前面整理 JavaScript 的文章中有提到,不再重復。
創(chuàng)建對象
var animal = [
{"name":"Cat","Color":"Orange"},
{"name":"Dog","Color":"Black"},
{"name":"Rabbit","Color":"White"}
]
訪問對象值
var a = animal[0].name;
var b = animal[1]["name"];
兩種方式都可以。
循環(huán)輸出對象屬性
for (i in animal[0]) {
document.getElementById('property').innerHTML += i + "<br>";
}
循環(huán)輸出對象屬性值
for (j in animal[0]) {
document.getElementById('property').innerHTML += animal[0][j] + "<br>";
}
循環(huán)數(shù)組啥的balabala都類似,看一眼就融會貫通了,不多寫了。主要是懶
以上示例代碼運行結果:

對象數(shù)組的創(chuàng)建、修改與訪問
示例代碼:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>對象數(shù)組</title>
</head>
<body>
<h1>對象數(shù)組的創(chuàng)建、修改與訪問</h1>
<p>第一只貓叫<span id = "name1"></span></p>
<p>第一只貓改名之后叫<span id = "name2"></span></p>
<script type="text/javascript">
//創(chuàng)建對象數(shù)組
var cat = [
{"name":"團團","breed":"英短"},
{"name":"Nuts","breed":"曼赤肯"},
{"name":"湯圓","breed":"美短"},
];
//訪問對象數(shù)組
document.getElementById('name1').innerHTML = cat[0].name;
//修改
cat[0].name = "包子";
document.getElementById("name2").innerHTML = cat[0].name;
</script>
</body>
</html>
運行結果:

數(shù)據(jù)與JS對象相互轉換
數(shù)據(jù)轉JS對象:JSON.parse()
JS對象轉數(shù)據(jù):JSON.stringify()
具體怎么用,在整理JavaScript的文章中有詳細示例,這里就不復制粘貼湊字數(shù)了。
JSON的整理有部分內容JS里面有提到,就簡單略過了,補充了一些之前沒有顧到的地方。