1:什么是json?
JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。 它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。 简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率 json本身是一个对象,主要作用是存储数据(json是存储和交换文本信息的语法,类似XML),json可以存储任何类型的数据。2.json是干嘛的?
json是存储和交换文本信息的语法,类似XML <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> <script type="text/javascript"> // 1: // var arr=[1,2,3]; // alert(arr[0]) // 2: // var obj={ // name:'tom', // age:12, // job:'学生' // } // alert(obj.name) // 3: // var o={ // arr:['name','age','12'], // } // alert(o.arr[0]) // 4: // var arr=[ // {'name1':'流量1','age1':'2','job1':'学生1'}, // {'name2':'流量2','age2':'12','job2':'学生2'}, // {'name3':'流量3','age':'3','job3':'学生3'} // ] // // alert(arr[2].job3) // 5:输出打印数据 for in // var o={ // name:'jack', // age:12, // job:'学生', // sex:'男' // } // document.write(o) // document.write(o.length) // 取键写法 // for(var i in o){ // document.write(i+'<br>') // } // 取值写法 // for(i in o){ // document.write(o[i]+'<br>') // } // 6: // var obj={ // arr:[ // {name:'老栗1','age':1,sex:'男1',h:1}, // {name:'老栗2','age':2,sex:'男2',h:2}, // {name:'老栗3','age':3,sex:'男3',h:3}, // ] // } // for(var i=0; i<obj.arr.length;i++){ // document.write(obj.arr[i].name) // } </script> </html>3:json和XML的区别?
小,快,容易解析4:json可以存储任何类型的数据 5:json数据格式有2种写法: 1:对象格式 2:数组格式
6:json方法
eval() 将js代码转换成对象/不建议用,安全性太低 json提供2个方法,但是要求浏览器版本高 (现在浏览器不影响了,如果想让方法兼容低版本浏览器,请下载json.js) stringify() 讲json转换成js字符 **stringify()方法除了可以转换以外,方法中的第2个参数是过滤 * 你要留哪个值,就以数组形式写到方法里面 * 第3个参数是数字 可以改变数据的距离 parse() 将js字符串转换成json **parse()所有的字符必须加双引号 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> <script type="text/javascript"> // 1检查json // alert(typeof JSON) // 2:parse() 将字符串转成json // var arr='[{"name":"laoli1","age":"1","sex":"男"},{"name":"laoli1","age":"1","sex":"男"},{"name":"laoli1","age":"1","sex":"男"}]' // alert(typeof arr) // alert(arr[0].name) // var a=JSON.parse(arr); // alert(typeof a) // alert(a[0].name) // 3:eval() 将js代码转换成对象/不建议用,安全性太低 // var arr='[{"name":"laoli1","age":"1","sex":"男"},{"name":"laoli1","age":"1","sex":"男"},{"name":"laoli1","age":"1","sex":"男"}]'; // alert(typeof eval(arr)) // alert(typeof JSON.parse(arr)) // 4:stringify() 讲json转换成js字符 // var obj=[{name:'tom',age:12,h:170},{name:'jack',age:13,h:175},{name:'mac',age:14,h:180}]; // alert(typeof obj) // var o=JSON.stringify(obj) // alert(typeof o) // var o=JSON.stringify(obj,['name','tom'],1) // alert(o) </script> </html>7:json结构写法
var obj={ "sites": { "site": [ { "id": "1", "name": "菜鸟教程", "url": "www.runoob.com" }, { "id": "2", "name": "菜鸟工具", "url": "c.runoob.com" }, { "id": "3", "name": "Google", "url": "www.google.com" } ] } } <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> </body> <script type="text/javascript"> var obj={ "sites": { "site": [ { "id": "1", "name": "菜鸟教程", "url": "www.runoob.com" }, { "id": "2", "name": "菜鸟工具", "url": "c.runoob.com" }, { "id": "3", "name": "Google", "url": "www.google.com" } ] } } //alert(obj.sites.site[0].id) for(var i=0; i<obj.sites.site.length; i++){ for(var j in obj.sites.site[i]){ document.write(obj.sites.site[i][j]+'<br>') } } //var obj={ // "shop":[ // { // "name":"Nike", // "money":"$130", // "sex":"通用", // "describe":"2019年春季新款", // "url":"<img src='img/1.jpg'>" // }, // { // "name":"Nike", // "money":"$130", // "sex":"通用", // "describe":"2019年春季新款", // "url":"<img src='img/2.jpg'>" // } // ] //} //document.write(obj.shop[1].name) //document.write(obj.shop[0].url); // for(var i=0; i<obj.shop.length; i++){ // for(a in obj.shop[i]){ // document.write(obj.shop[i][a]+"<br>") // } // } </script> </html>