js关于json的认识

 

 

json对象

关于JSON的认识
        关于JSON,最重要的是要理解它是一种数据格式,不同语言直接数据交互的桥梁
        
        JSON可以表示储存那些数据类型
        1、简单值
        ECMAScript中有5中基本数据类型--Undefined、Null、Boolean、Number和String
        JSON支持除了undefined之外的其它4中数据类型,大概可能是因为JSON作为编程语言的交互桥梁,Null、Boolean、Number和String这4种数据类型各种语言都支持,而undefined是ECMAScript所特有的,所以才不支持的吧;
        
        【注】js字符串与json字符串的最大区别在于:json字符串必须使用双引号,单引号会导致语法错误!
        2、复杂数据类型
            1)对象
            
            2)数组
            
        【注】
            与js的对象字面量相比,json对象有三个地方不一样:
            1、没有声明变量,
            2、没有末尾的分号
            3、对象的属性必须加双引号,这在json中是必须的;
            
            
            
        json的解析与序列化
        
        早期的JSON解析器基本上就是使用js的eval()函数,而ECMAScript5对解析json的行为进行了规范,定义了全局对象JSON,支持这个对象的浏览器有IE8+、Firefox3.5、Safari4+、Chromo和Opera10+,对于不支持json对象的浏览器可以使用eval()函数
        
        stringify()把一个js对象序列化为一个json字符串,

 

var str = '{"a":1,"b":2}';
if(typeof JSON === Object){
    var obj = JSON.parse(str);
}else{
    var obj = eval("("+str+")");
}
console.log(obj.a);//在IE7下没问题,可以输出1

 

posted @ 2019-01-13 14:11  liwuming  阅读(201)  评论(0编辑  收藏  举报