Json对象(无类型对象)
1.什么是json,有什么用?
JavaScript Object Notation (JavaScript对象标记),简称Json(数据交换格式)
最主要的作用是:数据交换
2.Json是一种标准的轻量级的数据交换格式
特点是:体积小、易解析
补:
在实际开发中有两种交换格式,使用最多,Json和XML
XML体积较大,解析麻烦,优点是:语法严谨(通常银行相关的系统之间进行数据交换使用XML)
3.Json对象语法格式:
var jsonObj={
"属性名":"属性值",
"属性名":"属性值",
……
"属性名":"属性值"
};
4.eval函数
作用:将字符串当作一段js代码解释并执行
补:
java连接数据库,查询数据之后,将数据在java程序中拼接成Json格式的"字符串",将Json格式的字符串响应到浏览器
也就是说,java响应到浏览器上的字符串转换成Json对象时,
可以使用eval函数,将Json格式的字符串转换成Json对象
5.在JS中,[]和{}的区别
[] 是数组
{} 是JSon
代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>son对象</title>
</head>
<body>
<script type="text/javascript">
//创建一个Json对象
var studentObj={
"sno":"110",
"sname":"张三",
"sex":"男"
};
//访问Json对象的属性
alert(studentObj.sno+","+studentObj.sname+","+studentObj.sex);
//Json数组
var students=[
{"sno":"1","sname":"rose","sex":"女"},
{"sno":"2","sname":"jack","sex":"男"},
{"sno":"3","sname":"GD","sex":"男"}
]
//遍历
for(var i=0;i<students.length;i++){
var stuObj=students[i];
alert(stuObj.sno+"-"+stuObj.sname+"-"+stuObj.sex);
}
//复杂一点的Json对象
var user={
"userid":110,
"username":"张三",
"sex":"男",
"add":{
"city":"北京",
"street":"大兴区",
"zipcode":"1212112"
},
"hobby":["pingpang","drink","fire"]
};
//访问人名、居住城市
alert(user.username+"-"+user.add.city);
//设计Jon格式的数据,可以描述整个班级中每一个学生信息,以及总人数信息
var Class={
"student":[
{"stuId":101,"sname":"张三","score":90},
{"stuId":102,"sname":"李四","score":78},
{"stuId":103,"sname":"王五","score":87},
{"stuId":104,"sname":"赵六","score":69}
],
"stuCount":4
};
alert(Class.student[1].stuId+"_"+Class.student[1].sname+"_"+Class.student[1].score);
alert(Class.stuCount);
//eval函数
window.eval("var i=100;"); //相当于var i=100;
alert("i="+i);
var fromJava="{\"name\":\"张三\",\"password\":\"123\"}"; //这是java程序发过来的json格式字符串
window.eval("var jsonObj="+fromJava);
alert(jsonObj.name+"_"+jsonObj.password); //在前端取数据
</script>
</body>
</html>