以后这种总结性的文章,我都会先给出结论,然后罗列基础知识进一步解释结论。
conclusion:XML和JSON的区别
1) 数据体积方面。
JSON相对于XML来讲,数据的体积小,传递的速度更快些。
2)数据交互方面。
JSON与JavaScript的交互更加方便,更容易解析处理,更好的数据交互。
3)数据描述方面。
JSON对数据的描述性比XML较差。
4)传输速度方面。
JSON的速度要远远快于XML。
详细解释
XML存储数据的弊端:
1)太多表示结构的标签造成字节浪费;
2)XML的解析需要额外代码,并且不同的XML文档需要的解析代码不同,越复杂的文档,解析代码也越复杂;把来自JS的数据序列化为XML数据更为复杂,而且不能出错;同时,串行化代码也是不可重用的。
Example:
<person> <firstName>John</firstName> <lastName>Doe</lastName> <age>30</age> </person>
解析:
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 };
JSON
JSON只存储有用信息,没有标签,因此比XML体积小,这加快了传输速度;
JS数据的序列化和JSON解析很简单,主流浏览器支持JSON.stringify()和JSON.parse()方法。
Example:
<script type="text/javascript"> var person = { firstName: "John",lastName: "Doe",age: 30 }; var json = JSON.stringify(person);//序列化 alert(json);//{"firstName":"John","lastName":"Doe","age":30} var person=JSON.parse(json);//JSON解析 alert(person.firstName);//John </script>
补充:
JSON一般用来表示三种数据:数组、对象、基本数据类型。
基本数据类型:null/false/true/number/string,和JS的区别在于string必须用双引号包围,其他三种数据类型和JS一样不用引号。
对象:
var person = { firstName: "John",age: 30 }; 表示成JSON: { "firstName": "John","lastName": "Doe","age": 30 }
数组:
var values = ["John",30,false,null];
表示成JSON:
["John",null]原文链接:https://www.f2er.com/xml/294796.html