JSON
JS中的对象只有JS本人意识,其余的语言都不意识
JSON就是一个非凡格局的字符串,这个字符串能够被任意的语言所辨认,
并且能够转换为任意语言中的对象,JSON在开发中次要用来数据的交互
如果须要兼容IE7及以下的JSON操作,则能够通过引入一个内部的js文件来解决
JSON
JavaScript Object Notation JS对象表示法
JSON和JS对象的格局一样,只不过JSON字符串中的属性名必须加双引号
其余的和JS语法统一
JSON分类:
1.对象 {}2.数组 []
JSON中容许的值:
1.字符串2.数值3.布尔值4.null5.对象6.数组
例子:
var arr = '[1,2,3,"hello",true]'; var obj2 = '{"arr":[1,2,3]}'; var arr2 ='[{"name":"孙悟空","age":18,"gender":"男"},{"name":"孙悟空","age":18,"gender":"男"}]';
将JSON字符串转换为JS中的对象
在JS中,为咱们提供了一个工具类,就叫JSON
这个对象能够帮忙咱们将一个JSON转换为JS对象,也能够将一个JS对象转换为JSON
var json = '{"name":"孙悟空","age":18,"gender":"男"}';
json --> js对象
JSON.parse()
能够将以JSON字符串转换为js对象
它须要一个JSON字符串作为参数,会将该字符串转换为JS对象并返回
var o = JSON.parse(json); var o2 = JSON.parse(arr); //console.log(o.gender); //console.log(o2[1]); var obj3 = {name:"猪八戒" , age:28 , gender:"男"};
JS对象 ---> JSON
JSON.stringify()
能够将一个JS对象转换为JSON字符串
须要一个js对象作为参数,会返回一个JSON字符串
var str = JSON.stringify(obj3); //console.log(str);
JSON这个对象在IE7及以下的浏览器中不反对,所以在这些浏览器中调用时会报错
var str3 = '{"name":"孙悟空","age":18,"gender":"男"}'; JSON.parse(str3);
eval()
这个函数能够用来执行一段字符串模式的JS代码,并将执行后果返回
如果应用eval()执行的字符串中含有{},它会将{}当成是代码块
如果不心愿将其当成代码块解析,则须要在字符串前后各加一个()
eval()这个函数的性能很弱小,能够间接执行一个字符串中的js代码,
然而在开发中尽量不要应用,首先它的执行性能比拟差,而后它还具备安全隐患
var str2 = "alert('hello');"; var obj = eval("("+str+")"); //console.log(obj);