一. 什么是JSON
JSON 是一种数据格式。它本身是一串字符串,只是它有固定格式的字符串,符合这个数据格式要求的字符串,我们称之为JSON。
二. JSON语法规则
1.数据在名称/值对中,如"name" : “×××”
2.数据由逗号分隔
3.大括号 { } 保存对象,对象可以包含多个名称/值对
4.中括号 [ ] 保存数组,数组可以包含多个对象
三. JSON对象
JSON 对象使用在大括号{ }中书写。
对象可以包含多个 key/value(键/值)对。
key 和 value 中使用冒号:分割。
每个 key/value 对使用逗号,分割。
可用.或者[ ]来访问对象的值:
var myObj, x;
myObj = { "name":"111", "age":"222"};
x = myObj.name;
或者x = myObj["name"];
四. JSON数组
JSON 数组在中括号[ ]中书写。
使用索引值来访问数组:
var myObj, x;
myObj = {
"name":"网站",
"num":3,
"sites":[ "Google", "Runoob", "Taobao" ]
}
x = myObj.sites[0];
五. JSON.parse() 方法
使用 JSON.parse() 方法将数据(JSON字符串)转换为 JavaScript 对象。
语法:
JSON.parse(text[, reviver])
text:必需, 一个有效的 JSON 字符串。
reviver: 可选,一个转换结果的函数, 将为对象的每个成员调用此函数。
<body>
<h2>从 JSON 对象中创建 JavaScript 对象</h2>
<p id="p"></p>
<script>
var p=document.getElementById("p");
var str = '{"name": "111","age":222}';
var obj = JSON.parse(str);
p.innerHTML=obj.name;
</script>
</body>
六. JSON.stringify() 方法
使用 JSON.stringify() 方法将 JavaScript 对象转换为JSON字符串。
语法:
JSON.stringify(value[, replacer[, space]])
value:必需, 要转换的 JavaScript 值(通常为对象或数组)
replacer:可选。用于转换结果的函数或数组
space:可选,文本添加缩进、空格和换行符
<body>
<h2>将 JavaScript 数组转换为 JSON 对象</h2>
<p id="p"></p>
<script>
var arr = [ "Google", "Runoob"];
var myJSON = JSON.stringify(arr);
document.getElementById("p").innerHTML = myJSON;
</script>
</body>
七. JSON与XML的区别
JSON:
{
"sites": [
{ "name":"google" , "url":"www.google.com" },
{ "name":"微博" , "url":"www.weibo.com" }
]
}
XML:
<sites>
<site>
<name>google</name> <url>www.google.com</url>
</site>
<site>
<name>微博</name> <url>www.weibo.com</url>
</site>
</sites>``
JSON 不需要结束标签,更加简短,读写速度更快,且可以使用数组
JSON和XML最大的不同是:XML 需要使用 XML 解析器来解析,JSON 可以使用标准的 JavaScript 函数来解析。