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);