Web从小白到大神Day15 2020.10.20

it2023-01-07  65

一.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”:“zhangsan@qq.com”}

五.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>
最新回复(0)