1.json是什么?
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,比XML更轻巧,易于阅读和编写,同时也易于机器解析和生成。它基于ECMA262语言规范(1999-12第三版)中JavaScript编程语言的一个子集。 JSON采用与编程语言无关的文本格式,但是也使用了类C语言(包括C, C++, C#, Java, JavaScript, Perl, Python等)的习惯,这些特性使JSON成为理想的数据交换格式。
2.json访问对象
对象是属性、值对的集合。一个对象的开始于“{”,结束于“}”。每一个属性名和值间用“:”提示,属性间用“,”分隔。
var stu={id:"1",name:"aaa",sex:"男"};
访问属性: stu.id stu.name 或 stu[“id”]
遍历属性:for(var key in stu){alert(key);}
遍历属性值:
for(var key in stu){ alert(stu[key]) ;}
动态设置属性值:
stu.name=“xxx”; stu[“name”]=“yyy”;
3.字符串与JSON的转换
JSON类型的字符串:
var stu="{id:'1',name:'aaa',sex:'男'}";
转换为JSON对象:
var newStu=eval("("+stu+")");
4.复杂点的JSON对象:
var stu={id:'1',name:{firstName:"张",lastName:"海军"},sex:'男'};
获取属性:
stu.name.firstName
stu["name"]["firstName"]
5.为json添加方法
var stu={
id:'1',
name:"张海军",
sex:'男',
age:"30",
teach:function(){
alert("他是老师,所以在学校上课!");
},
info:function()
{
return "他今年"+this.age+"岁";
}
};
stu.teach();
alert(stu.info());
alert(stu[“info”]()); //这种方式也行。
6.json访问数组
数组是有顺序的值的集合。一个数组开始于“[”,结束于“]”,值之间用“,”分隔。
var stus=[
{id:"1",name:"张三",age:"20"},
{id:"2",name:"李四",age:"21"},
{id:"3",name:"王五",age:"22"}
];
遍历:
for(var i=0;i<stus.length;i++)
{
for(var key in stus[i])
{
alert("---"+stus[i][key]);
}
}
Json的优点
1.轻量级的数据交换格式
2.人们读写更加容易
3.易于机器的解析和生成
4.能够通过JavaScript中eval()函数解析JSON
5.JSON支持多语言。包括:ActionScript, C, C#, ColdFusion, E, Java, JavaScript, ML,
Objective CAML, Perl, PHP, Python, Rebol, Ruby, and Lua.