JSON与XML的区别
JSON简介
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。
JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,可以在函数之间传递这个字符串。这种字符串更容易让JavaScript解读,JSON不仅能表示"名称:值对"的结构,还能表示数组和复杂对象。
简单的说JSON就是一串字符串,是一种轻量级数据交换模式,用于不同平台的数据交换。
JSON的格式为,{}表示对象,[]表示数组,""双引号内是属性或值。
用JSON表示如下:通过JSON的索引name.provinces[0].name就能够读取“辽宁”这个值
{name:"中国",
province:[{name:"辽宁",cities:{city:["沈阳","大连"]}},
{name:"山东",cities:{city:["青岛","烟台"]}},
{name:"台湾",cities:{city:["台北","高雄"]}},
{name:"新疆",cities:{city:["乌鲁木齐"]}}]}
注意: ""和值之间不能有空格,不然取值的时候会出错
XML简介
扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。
XML是标准通用标记语言 (SGML) 的子集,非常适合 Web 传输。XML 提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。
用XML表示如下:
XML文档声明
<?xml version="1.0" encoding="utf-8" ?>
<country>
<name>中国</name>
<province>
<name>辽宁</name>
<citys>
<city>沈阳</city>
<city>大连</city>
</citys>
</province>
<province>
<name>山东</name>
<citys>
<city>青岛</city>
<city>烟台</city>
</citys>
</province>
<province>
<name>台湾</name>
<citys>
<city>台北</city>
<city>高雄</city>
</citys>
</province>
<province>
<name>新疆</name>
<citys>
<city>乌鲁木齐</city>
</citys>
</province>
</country>
JSON和XML比较
1·可读性:
JSON和XML的可读性可谓不相上下,一边是建议的语法,一边是规范的标签形式,很难分出胜负。
2·体积:
JSON相对于XML来说, 数据的体积小,传递速度更快。
3·速度:
传递速度方面,JSON的速度要远远快于xml。
4·解码难度:
XML的解析得考虑子节点父节点,让人头昏眼花,而JSON的解析难度几乎为0。