您的位置:首页 > Web前端 > JavaScript

json基础

2016-12-25 17:23 246 查看

1 xml缺点

用xml表示一个对象,数据存储效率低

<person>
<firstName>Morra<firstName>
<lastName>Doe<lastName>
<age>30</age>
</person>

xml的解析过程如下,过程相当繁琐:

var personElement = document.querySelector("person");
var firstName = personElement.querySelector("firstName").innerHTML;
var lastName = personElement.querySelector("lastName").innerHTML;
var age = personElement.querySelector("age").innerHTML;

var person = {
firstName:firstName,
lastName:lastName,
age:age,
};

xml缺点:

数据结构占比比较大,数据存储效率低

xml阅读、解析、与生成数据需要繁琐的代码,代码编写效率低。

2 json基础

由于xml的以上缺点,json开始流行起来。JSON是一种数据格式,不是语言,它只定义对象的结构和数据。

字符串必须用双引号,数字和布尔值不变。

2.1 对象

js中的对象:

var person = {
firstName:"Morra",
lastName:"Doe",
age:30
};

JSON写法:

{
"firstName":"Morra",      //json中属性名也是放在双引号里的
"lastName":"Doe",
"age":30
}                            //也没有分号

也可以嵌套:

{
"firstName": "Morra",
"lastName": "Doe",
"age": 30,
"address": {
"country": "China",
"city": "somewhere"
}
}

2.2 数组

js中的数组:

var values = ["john", 30, false, null];

json数组格式:

["john", 30, false, null]

2.3 序列化与反序列化

需要用到js里的JSON对象,它可以串行化js对象,也能解析json对象。

var person = {
firstName:"Morra",
lastName:"Doe",
age:30
};

var json =JSON.stringify(person); //序列化
console.log(json); //{"firstName":"Morra","lastName":"Doe","age":30}

var personData = JSON.parse(json); //解析json,反序列化
console.log(personData); //Object {firstName: "Morra", lastName: "Doe", age: 30}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: