JavaScript是键值对式的创建对象。

JSON是一种数据格式,分为对象和数组两种。

JSON对象指的是符合JSON格式的对象,不是所有JavaScript对象都是JSON对象。

JSON字符串是 JSON 对象的字符串表示法,它使用文本表示一个 JSON 对象的信息,就是在JSON对象的基础上前后加上“ ‘ ”和“ ’ ”。

区别:

  键名:

对象的键名本质也是字符串,符合标识名条件加不加引号无所谓,不符合标识名条件(如第一个字符为数字或含有空格和运算符)必须加引号。对象的键名若为数值,会自动转换为字符串;

JSON对象的键必须加双引号,同时也可以是整数。

值:

  对象的值是任意的;

  JSON对象的值是除方法、undefined类型、NaN以外的任意值。  

    传输:

    对象不能传输;

    JSON字符串可以跨平台数据传输,形式简单,速度快,JSON对象可转为JSON字符串传输。

  对象常用创建方式:

  字面量:

var person = { name: "wyw",
            age: 20,
              Introduce: function (){ alert("My name is " + this.name + ".I'm " + this.age); } };

    构造函数:       

function Person() { this.name = "wyw"; //通过this关键字设置默认成员
              var worker = 'coding'; //没有this关键字,对象创建后,该变量为非成员
              this.age = 20;
              this.Introduce = function () { alert("My name is " + this.name + ".I'm " + this.age); };
              alert("My name is " + this.name + ".I'm " + this.age); };
   var person = new Person();

    object方式:  

var person = new Object();
person.name = "wyw";
person.age = 20;
person.Introduce = function () { alert("My name is " + this.name + ".I'm " + this.age); };
person.Introduce();

JSON对象与JSON字符串的转化  

  要实现从JSON字符串转换为JS对象,使用 JSON.parse(string) 方法或eval("("+string+")")或string.parseJSON();

      要实现从JS对象转换为JSON字符串,使用 JSON.stringify(object) 方法。