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高级教程

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...