加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

XML和Json使用

发布时间:2020-12-16 08:43:13 所属栏目:百科 来源:网络整理
导读:1.XML 与 JSON 的区别比较 XML 定义 : 扩展标记语言 (ExtensibleMarkupLanguage,XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 JSON 定义 :JSON(JavaScriptObjectNo
1.XMLJSON的区别比较

XML定义:扩展标记语言(ExtensibleMarkupLanguage,XML),用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。

JSON定义:JSON(JavaScriptObjectNotation)一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。可在不同平台之间进行数据交换。

2.XMLJSON优劣势

XML:格式统一,易与其他系统进行远程交互,数据共享比较方便();格式复杂,解析XML花费较多的资源和时间.

JSON:格式简单,支持多种语言,易于解析,能直接为服务器端代码使用,大大简化了服务器端和客户端的代码开发量,且完成任务不变,并且易于维护();没有XML那么通用性强

3.XMLJSON数据格式比较

(1).关于轻量级和重量级

轻量级和重量级是相对来说的,那么XML相对于JSON的重量级体现在哪呢?应该体现在解析上,XML目前设计了两种解析方式:DOMSAX

<1>.DOM

DOM是把一个数据交换格式XML看成一个DOM对象,需要把XML文件整个读入内存,这一点上JSONXML的原理是一样的,但是XML要考虑父节点和子节点,这一点上JSON的解析难度要小很多,因为JSON构建于两种结构:key/value,键值对的集合;值的有序集合,可理解为数组;

<2>.SAX

SAX不需要整个读入文档就可以对解析出的内容进行处理,是一种逐步解析的方法。程序也可以随时终止解析。这样,一个大的文档就可以逐步的、一点一点的展现出来,所以SAX适合于大规模的解析。这一点,JSON目前是做不到得。

所以,JSONXML的轻/重量级的区别在于:

JSON只提供整体解析方案,而这种方法只在解析较少的数据时才能起到良好的效果;

XML提供了对大规模数据的逐步解析方案,这种方案很适合于对大量数据的处理。

(2).关于数据格式编码及解析难度

<1>.在编码方面。

虽然XMLJSON都有各自的编码工具,但是JSON的编码要比XML简单,即使不借助工具,也可以写出JSON代码,但要写出好的XML代码就有点困难;XML一样,JSON也是基于文本的,且它们都使用Unicode编码,且其与数据交换格式XML一样具有可读性。

主观上来看,JSON更为清晰且冗余更少些。JSON网站提供了对JSON语法的严格描述,只是描述较简短。从总体来看,XML比较适合于标记文档,而JSON却更适于进行数据交换处理。

<2>.在解析方面。

在普通的web应用领域,开发者经常为XML的解析伤脑筋,无论是服务器端生成或处理XML,还是客户端用JavaScript解析XML,都常常导致复杂的代码,极低的开发效率。

实际上,对于大多数Web应用来说,他们根本不需要复杂的XML来传输数据,XML宣称的扩展性在此就很少具有优势,许多Ajax应用甚至直接返回HTML片段来构建动态Web页面。和返回XML并解析它相比,返回HTML片段大大降低了系统的复杂性,但同时缺少了一定的灵活性。同XMLHTML片段相比,数据交换格式JSON提供了更好的简单性和灵活性。在WebSerivice应用中,至少就目前来说XML仍有不可动摇的地位。

(3).实例比较

XMLJSON都使用结构化方法来标记数据,下面来做一个简单的比较。

<1>.XML表示中国部分省市数据如下:

<?xmlversion="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>
<city>珠海</city>
</citys>  
</province>
<province>
<name>台湾</name>
<citys>
 <city>台北</city>
 <city>高雄</city>
</citys> 
</province>
<province>
<name>新疆</name>
<citys>
<city>乌鲁木齐</city>
</citys>
</province>
</country>

<2>.JSON表示中国部分省市数据如下:

varcountry={
name:"中国",provinces:[
{name:"黑龙江",citys:{city:["哈尔滨","大庆"]}},{name:"广东",citys:{city:["广州","深圳","珠海"]}},{name:"台湾",citys:{city:["台北","高雄"]}},{name:"新疆",citys:{city:["乌鲁木齐"]}}
]
}

编码的可读性来说,XML有明显的优势,毕竟人类的语言更贴近这样的说明结构。JSON读起来更像一个数据块,读起来就比较费解了。不过,我们读起来费解的语言,恰恰是适合机器阅读,所以通过JSON的索引country.provinces[0].name就能够读取黑龙江这个值。

编码的手写难度来说,XML还是比较好一些,好读当然就好写。不过写出来的字符JSON就明显少很多。

4.XMLJSON在项目中的运用

补充说明:10分钟掌握XMLJSON及其解析

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读