JSON
创建一个对象
var obj={“name”:“孙悟空”,“age”:18,“gender”:“男”};
转换成字符串
var obj=‘ {“name”:“孙悟空”,“age”:18,“gender”:“男”} ’;
把这个前端对象传到后端(java写的)
JS中的对象只有JS自己认识,其他的语言都不认识
Json就是一个特殊格式的字符串,这个字符串可以被任意语言所识别,
并且可以转换为任意语言的对象,json在开发中主要用来数据的交互
Json:
JavaScript Object Notation js对象表示法
Json和js对象的格式一样,只不过json字符串中的属性名必须加双引号,其他的和js语法一直
Json分类:
1对象{ } 2数组 [ ]
对象 var obj=‘ {“name”:“孙悟空”,“age”:18,“gender”:“男”} ’;
数组 var arr=’ [1,2,3,”hello”,true] ’;
Json中允许的值:
1字符串、2数值、3布尔值、4null、5对象、6数组
将json字符串转换为js中的对象
在js中,为我们提供了一个工具类,叫做json,这个对象可以帮助我们将一个json转换为js对象,也可以将js对象转换为json
Json-js对象
JSON.parse();
可以将json字符串转换为js对象,他需要一个json字符串作为参数,会将该字符串转换为js对象
var json=‘ {“name”:“孙悟空”,“age”:18,“gender”:“男”} ’;
var o=JSON.parse(json);
console.log(o);//[Object Object]
var arr=’ [1,2,3,”hello”,true] ’;
var o2= JSON.parse(o2);
console.log(o2[1]);//结果2
将js对象转换为json
JSON.stringify();
可以将一个js对象转换为json字符串
需要将一个js对象作为参数,会返回一个json字符串
var obj3={name:”猪八戒”,age:28,gender:”男”};
var str=JSON.stringify(obj3);
console.log(typeof str);//string
json这个对象在ie7及以下浏览器中不支持,所以在这些浏览器调用会报错,要兼容浏览器的话
eval()这个函数可以用来执行一段字符串形式的js’代码,并将执行结果返回
如果使用eval()执行的字符串中含有{ },它会将{ }当成代码块,如果不希望将其当成代码块解析,则需要在字符串前后加一个()
eval() 这个函数的功能很强大,可以直接执行一个字符串中的js代码,但是在开发中尽量不要使用,首先它的执行性能比较差,然后还具有安全隐患
var str2=“alert(‘hellow’)”;
eval(str2);
var json=‘ {“name”:“孙悟空”,“age”:18,“gender”:“男”} ’;
var obj=eval(“(”+json+”)”);
console.log(obj);//Object 转换成了对象