什么是JSON,有什么用?
JavaScript Object Notation(JavaScript对象标记)简称JSON。(数据交换格式)
JSON主要作用是:一种标准的数据交换格式。
JSON以JS对象的形式存在!!
JSON是一种标准的,轻量级的数据交换格式。
JSON特点:体积小,易解析
实际开发中有两种数据交换格式:一种为JSON,一种为XML。
XML特点:体积大,语法严谨,不易解析,通常用在银行管理系统。
JSON的语法格式:
var jsonObj={ "属性名":"属性值", "属性名":"属性值", "属性名":"属性值", "属性名":"属性值", ............ };
示例代码:(1)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>JSON</title> </head> <body> <script type="text/javascript"> //创建JSON对象(JSON也可以称为无类型对象) var studentObj={ "sno":"110", "sname":"张三", "sex":"男" }; //访问JSON对象属性 alert(studentObj.sno+","+studentObj.sname+","+studentObj.sex); //JSON数组 var students=[ {"sno":110,"sname":"张三","sex":"男"}, {"sno":111,"sname":"李四","sex":"男"}, {"sno":112,"sname":"王五","sex":"男"} ]; for(var i=0;i<students.length;i++){ var stuObj=students[i]; alert(stuObj.sno+","+stuObj.sname+","+stuObj.sex); } </script> </body> </html>
示例代码:(2)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>复杂的JSON对象 </title> </head> <body> <script type="text/javascript"> var user={ "usercode":110, "username":"张三", "sex":true, "address":{ "city":"北京", "street":"大兴区", "zipcode":"1213123" }, "aihao":["smok","drink","fireHair"] } //访问人名以及居住城市 alert(user.username+",居住在"+user.address.city); </script> </body> </html>
eval函数
作用:将字符串当作一串JS代码接式并执行。
示例代码:(3)
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>eval函数</title> </head> <body> <script type="text/javascript"> window.eval("var i=100"); alert("i="+i);///i=10 var fromJava="{\"name\":\"zhangsan\",\"password\":\"123\"}";//java程序员发来的json格式的字符串 //将以上的json格式的字符串转换为json对象 window.eval("var jsonObj="+fromJava); //访问json对象 alert(jsonObj.name+","+jsonObj.password); var json={ "name":"zhangsan" }; //访问JSON对象的属性 alert(json.name); alert(json["name"]); </script> </body> </html>
面试题:
在JS种,[]和{}有什么区别? []是数组 {}是JSON JS中数组: var arr =[1,2,3,4,]; JSON: var jsonObj={ "sno":"110", "sname":"张三", "sex":"男" };