1.JSON:java script object notation(java script 对象表示法)
-轻量级的文本交换数据格式
-JSON独立于语言,使用java script语法来描述对象,但是JSON独立于语言和平台。JSON解析器和JSON库支持许多不同的编程语言。
-PHP,JSP,NET等编程语言都支持JSON
-JSON文本格式在语法上创建java script对象的代码相同
JSON语法1.语法规则
JSON语法是java script对象表示语法的子集:
数据在名称/值对中
数据由逗号分隔
大括号保存对象
中括号保存数组,数组可以包含多个对象
2.JSON名称/值对
书写格式
key:value
实例: "name":"菜鸟教程"
等价于javascript语句 name="菜鸟教程"
3.JSON值
JSON值可以是:
数字
字符串(双引号里)
逻辑值(true orfalse)
数组(中括号里)
对象(大括号里)
null
①JSON数字
{"age":30}
②JSON对象
JSON 对象在大括号里书写{key1:value1,key2:value2.....}
JSON对象可以包含多个名称值/对
实例{"name":"菜鸟教程","url":"www.runoob.com"}
③JSON数组
JSON数字书写在中括号里
数字中可包含多个对象
{
"sites":[
{"name":"菜鸟教程","url":"www.runoob.com"},
{"name":"Google","url":"www.google.com"},
{"name":"Baidu","url":"www.baidu.com"}
]
}
对象sites是包含三个对象的数组
④JSON布尔值
{"flag":true}
⑤JSON null
{"runoob":null}
⑥json使用java script语法,所以无需额外的软件就能处理 Javascript 中的 JSON
JSON对象var sites = [
{ "name":"runoob" , "url":"www.runoob.com" },
{ "name":"google" , "url":"www.google.com" },
{ "name":"微博" , "url":"www.weibo.com" }
];
sites[0].name
输出的内容是:runoob
也可以修改数组中对象的属性
sites[0].name="菜鸟教程"
JSON 对象在大括号里书写{key1:value1,key2:value2.....}
JSON对象可以包含多个名称值/对
实例{"name":"菜鸟教程","url":"www.runoob.com"}
①访问对象值
var myObj, x;
myObj = { "name":"runoob", "alexa":10000, "site":null };
x = myObj.name;
x=myObj["name"];
//以上两个方法都可以,给X赋值runoob
②循环对象
使用for in
Title
使用 for-in 来循环对象的属性:
③嵌套JSON对象
JSON对象中可以包含另外一个JSON对象
JSON数组myObj = { "name":"runoob",
"alexa":10000,
"sites": { "site1":"www.runoob.com",
"site2":"m.runoob.com",
"site3":"c.runoob.com" }
}
//访问对象
x=myobj.sites.site1;
x=myobi.sites["site1"]
//修改对象的值
myobj.site.site1=''www.google.com'
//删除对象的属性
delete myobj.sites.site1;
数组写在中括号里
对象属性的值可以是一个数组
myobj={ "name":"网站",
"num":3,
"sites":[ "Google", "Runoob", "Taobao" ]
}
//访问数组
x=myobj.sites[0]
//循环数组
for -in
//删除数组元素
delete myObj.sites[1];



