什么是 JSON ?
JSON JavaScript Object Notation(JavaScript 对象表示法)
JSON 是轻量级的文本数据交换格式,它和XML相似,但比XML更小,更快,更易解析,更容易被理解。
JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。
JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。
JSON 转换成JavaScript :JavaScript 程序能够使用内建的 eval() 函数,用 JSON 数据来生成原生的 JavaScript对象,无需转换器。
1.JSON数据格式:整数,浮点数,字符串,数组,对象,null,布尔值(true/false)
整数/浮点数:{"age":30}
布尔值{"bool":true}
null:{"year":null}
对象:用{},{"name":"yang" , "call":"haha" }//这是一个对象,两个键值对,对象可以创建多个键值对,多个键值对之间用,隔开
数组:用[],{
"array": [
{ "name":"a" , "url":"hahaha" },
{ "name":"b" , "url":"ououou" },
{ "name":"c" , "url":"yeyeye" }
]
}//array是一个数组,三个对象,每个对象包含两个键值对
["a","b","c"]//也是一数组
2.对象的访问(四种)var a={ "name":"yang" , "call":"haha" };
var b=a.name;
var b=a.["name"];
for (x in a) {
document.getElementById("div1").innerHTML += x + "<br>";//输出的是属性(name和call)
}
for (x in myObj) {
document.getElementById("div2").innerHTML += a[x] + "<br>";//输出的是值(yang或haha)
}
3.嵌套JSON对象
a= {
"name":"yang",
"age":21,
"sites": {
"play":"ball",
"call":"hahaha",
"work":"java"
}
}
嵌套对象访问:x = a.sites.play;/x = a.sites["play"];
嵌套对象修改:a.sites.play = "swim";/a.sites["play"] = "swim";
嵌套对象的删除:delete a.sites.play;/delete a.sites["play"];
4.JSON数组var shuzu={
"play":"ball",
"call":"hahaha",
"array": ["a","b","c"]
}
数组的访问:x=shuzu.array[0];
可以使用for-in或普通的for循环访问
for (i in shuzu.array) {
x += shuzu.array[i] + "<br>";
}
for (i = 0; i < shuzu.array.length; i++) {
x += shuzu.array[i] + "<br>";
}
数组的修改:shuzu.array[1]="d";
数组的删除:delete shuzu.array[1];