Web从小白到大神Day15 2020.10.20

一.JSON

1.什么是JSON?有什么用?

JavaScript Object Notation(对象标记),是一种标准的轻量级的数据交换格式,在JS中以JS对象的形式存在。
JSON最主要的作用是进行数据交换:它是一种标准的数据交换格式(目前非常流行,90%以上的系统,系统A与系统B交换数据的话,都是采用JSON)

2.特点:体积小,易解析

3.XML和JSON

在实际的开发中有两种数据交换格式使用最多,其一是JSON,另一个是XML

①XML体积较大,解析麻烦,但是语法相当严谨(通常银行相关的系统之间进行数据交换的时候会使用XML)
②HTML和XML有一个父亲:SGML(标准通用的标记语言)
③HTML主要做页面展示:所以语法松散,很随意
XML主要做数据存储和数据描述:所以语法相当严格

使用JSON

<!DOCTYPE html>
<html>
<head>
	<title>JSON</title>
</head>
<body>
	<script type="text/javascript">
		//创建JSON对象(JSON也可以被称为无类型对象)
		var studentObj = {
    
    
			"sno" : "110",
			"sname" : "张三",
			"sex" : "男"
		}

		//访问JSON对象的属性
		alert(studentObj.sno);

		//创建JSON数组
		var students = [
			{
    
    "sno":"110","sname":"张三","sex":"男"},
			{
    
    "sno":"120","sname":"李四","sex":"男"},
			{
    
    "sno":"130","sname":"王五","sex":"男"},
		];
		//遍历
		for(var i = 0;i < students.length;i++){
    
    
			alert(students[i].sno);
		}

		//之前没用JSON的时候,我们都用类来完成此功能
		Student = function(sno,sname,sex){
    
    
			this.sno = sno;
			this.sname = sname;
			this.sex = sex;
		}

		var stu = new Student("111","李四","男");
	</script>
	
</body>
</html>

二.复杂一点的JSON对象

<!DOCTYPE html>
<html>
<head>
	<title>复杂一些的JSON对象</title>
</head>
<body>
	<script type="text/javascript">
		var user = {
    
    
			"userCode" : 110,
			"userName" : "张三",
			"sex" : true,
			"address" : {
    
    
				"city" : "山东",
				"street" : "泰安",
			},
			"aihao" : ["smoke","drink","tt"]
		}

		alert(user.address.city);

		var jsonData = {
    
    
			"total" : 3,
			"students" : [
				{
    
    },
				{
    
    }
			]
		}
	</script>
	
</body>
</html>

三.eval函数

<!DOCTYPE html>
<html>
<head>
	<title>eval函数</title>
</head>
<body>
	<script type="text/javascript">
		/*eval函数的作用是:
				把字符串当作一段JS代码解释并执行*/
		window.eval("var i = 100");
		alert(i);

		//java连接数据库,查询数据之后,将数据在java程序中拼接成JSON格式的“字符串”,将json格式的字符串响应到浏览器
		//也就是说java响应到浏览器上的仅仅是一个“JSON格式的字符串”,还不是一个json对象
		//此时可以使用eval函数,将json格式的字符串转换成json对象
		var fromJava = "{\"name\":\"张三\"}";//这是java程序给发过来的json格式的字符串
		window.eval("var jsonObj = " + fromJava);
		alert(jsonObj.name);
	</script>
	
</body>
</html>

四.在JS中[]与{}的区别

[]是数组,{}是JSON
①java中的数组: int[] arr = {1,2,3}
②JS中的数组 : var arr = [1,2,3]
③JSON: var jsonObj = {“email”:“[email protected]”}

五.tbody

<!DOCTYPE html>
<html>
<head>
	<title>设置table的tbody</title>
</head>
<body>
	<script type="text/javascript">
		//有这些json数据
		var data = {
    
    
			"total" : 4,
			"emps" : [
				{
    
    "empno":7777,"ename":"smith","sal":8000},
				{
    
    "empno":6666,"ename":"smith2","sal":8200},
				{
    
    "empno":5555,"ename":"smith3","sal":9999}
			]
		}

		//希望把json数据解析到table当中
		window.onload = function(){
    
    
			//给按钮绑定点击事件
			document.getElementById("displayBtn").onclick=function(){
    
    
				//定义空字符串
				var html = "";
				for(var i = 0;i < data.emps.length;i++){
    
    
					//取出每一个元素
					var emp = data.emps[i];
					html += "<tr>";
					html += "<td>" + emp.empno + "</td>";
					html += "<td>" + emp.ename + "</td>";
					html += "<td>" + emp.sal + "</td>";
					html += "</tr>";
				}
				document.getElementById("emptybody").innerHTML = html;
				document.getElementById("count").innerHTML = data.total;
			}
		}
	</script>
	<input type="button" value="显示员工信息列表" id="displayBtn"/>
	<h2>员工信息列表</h2>
	<hr>
	<table border="1px" width="50%">
		<tr>
			<th>员工编号</th>
			<th>员工名字</th>
			<th>员工薪资</th>
			<tbody id="emptybody">
				
			</tbody>
		</tr>
	</table>
	员工总人数为:<span id="count">0</span>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/afdafvdaa/article/details/109176182