JS的Json对象

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>

  

posted @ 2021-11-13 11:18  石乐智先生  阅读(1569)  评论(0编辑  收藏  举报