JSON对象与格式

本文只讨论JavaScript环境下的JSON

渊源:

JSON(JavaScript Object  Notion 或JavaScript对象表示法)是基于JavaScript的一种数据格式,一种语法,用来序列化简单值,对象与数组,请注意JavaScript不是JSON,JSON也不是JavaScript,'' JSON是JavaScript的一个子集''  这句话起码是不严谨的,详见  JSON:并不是JavaScript 的子集。很多语言都有JSON。

对象与JSON的区别:

从格式上看,JavaScript中的对象有两种表示方法:

//第一种属性名不加引号
var obj = {
    name: 'JOE',
    age: 20,
    sex: male
};
//第二种属性名加引号
var obj = {
    "name": 'JOE',
    "age": 20,
    "sex": male
};

而JSON的格式如下,属性名要加而且只能加双引号,属性值如果是字符,只能用双引号,最后一个属性后不能加逗号。

{
   "name":"JOE",
   "age":20,
   "sex":"male"
}

JSON对象:

JSON对象只有两个方法JSON.stringify(将对象序列化为JSON字符串)和JSON.parse(JSON字符串解析为对象),JSON本身不能被调用,或者作为构造函数使用,而且JSON对象也存在着浏览器兼容问题。在ES5之前JavaScript基本用eval()函数进行解析,但是这种方法是有风险的,ES5之后对它的解析有了规范,使用JSON.parse()方法。

var jsonString = '{"name":"Joe","age":16}';
console.log(JSON.parse(jsonString));
// {
    name: "Joe", age: 16
}


var obj = {
            name:'Joe',
            age: 16
        }
console.log(JSON.stringify(obj));
// 字符串形式的{"name":"Joe","age":16}

 

猜你喜欢

转载自blog.csdn.net/qq_41995398/article/details/103032834