您好,欢迎访问一九零五行业门户网

json和javascript对象有什么区别

json和javascript对象的区别是:js自变量的文本是被脚本引擎直接解析的,而json的文本,如果要转化为js对象的话,是交给eval函数来处理的。
本教程操作环境:windows7系统、javascript1.8.5版、dell g3电脑。
//js对象的字面量表示法: var people1={ name:'hehe', age:18 }; //json的格式是: var people1={ name:'hehe', age:18 };
二者相同的地方是,看起来都是数据,而且恰巧又都是文本;不同的地方在于,js字面量的文本是被脚本引擎直接解析的,而json的文本,如果要转化为js对象的话,是交给eval函数来处理的,那么,如何理解json的文本,就取决于这个函数,而不是脚本引擎,因为这2者的处理根本就不在一个层面上。
var obj={width:100,height:200}
这样的并不叫json,并且json只是一种数据格式,并不是具体的实例对象。但很多人把这样的js对象当成json。  
     1、json(javascript object notation)是一种轻量级的数据交换格式,json格式的数据,主要是为了跨平台交流数据用的。 
     2、但json和javascript确实存在渊源,可以说这种数据格式是从javascript对象中演变出来的,它是javascript的一个子集。json本身的意思就是javascript对象表示法(javascript object notation),它用严格的javascript对象表示法来表示结构化的数据。 
    3、它是一种严格的js对象的格式,json的属性名必须有双引号,如果值是字符串,也必须是双引号; 
    4、json只是一种数据格式(或者叫数据形式),数据格式其实就是一种规范,格式、形式、规范是不能用来存诸数据的。我们不能把以下的对象叫json,比如:
        var obj2={}; //这只是js对象        var obj3={width:100,height:200};        /*这跟json就更不沾边了,只是js的对象 */        var obj4={'width':100,'height':200};        /*这跟json就更不沾边了,只是js的对象 */        var obj5={width:100,height:200,name:rose};         /*我们可以把这个称做:json格式的javascript对象 */        var str1='{width:100,height:200,name:rose}';        /*我们可以把这个称做:json格式的字符串 */        var a=[        {width:100,height:200,name:rose},        {width:100,height:200,name:rose},        {width:100,height:200,name:rose},        ];        /*这个叫json格式的数组,是json的稍复杂一点的形式 */        var str2 = '['+        '{width:100,height:200,name:rose},'        +'{width:100,height:200,name:rose},'        +'{width:100,height:200,name:rose},'        +']';        /*  这个叫稍复杂一点的json格式的字符串  */
【推荐学习:javascript高级教程】
以上就是json和javascript对象有什么区别的详细内容。
其它类似信息

推荐信息