主流数据格式 XML 与 JSON 的区别

Posted 研发云

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了主流数据格式 XML 与 JSON 的区别相关的知识,希望对你有一定的参考价值。

我们知道,不同语言的数据交换

大部分都是以文本形式传递

而统一的数据格式则有利于这种传递

目前业界两种比较流行的数据格式

分别是 XML  JSON

作为现有标记语言标准的XML

其目的是通过可选模式来存储、定义文档数据

因此在调用 Web Service 进行数据交换时

经常会用到它

而 JSON(javascript Object Notation)

是一个序列化的数据格式

它由key|value(键|值)构成

比较适合于前后端之间所进行的数据交换处理

主流数据格式 XML 与 JSON 的区别


ML

XML(Extensible Markup Language)是一种用来编码文档的可扩展标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML是标准通用标记语言 (SGML) 的子集,非常适合 Web 传输。它提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。现在XML已经被广泛地应用在各种应用、WEB服务和网站中。并且 Web Service全部的规范,技术都是以XML为底层核心和构架基础的。对Web Service而言,SOAP、WSDL和UDDI,都是使用XML作为信息描述和交换的标准手段。XML技术的产生促使了Web Service技术的产生与发展。


XML由3个部分构成,它们分别是:文档类型定义(Document Type Definition,DTD),即XML的布局语言;可扩展的样式语言(Extensible Style Language,XSL),即XML的样式表语言;以及可扩展链接语言(Extensible Link Language,XLL)。

主流数据格式 XML 与 JSON 的区别

JSON

JSON(JavaScript Object Notation)是轻量级的存储和交换文本信息的语法,它以”name / value”的格式来传输数据对象,采用完全独立于编程语言的文本格式来存储和表示数据,具有良好的可读和便于快速编写的特性,可在不同平台之间进行数据交换。JSON的目的就是为了能替代XML,对于 AJAX 应用程序来说,JSON 比 XML 更小、更快更易使用。由于合理地利用了代码缩进和空格,JSON比XML可读性更强一些,另外JSON没有利用全标记的结构,所以代码看起来更加紧凑,占用的空间也少,简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言,同时也易于机器解析和生成,并有效地提升网络传输效率。


四个常用的 JSON 类库分别为:Gson,FastJson,Jackson,Json-lib。

主流数据格式 XML 与 JSON 的区别

XML 和 JSON 的比较

体积大小:

XML文件庞大,文件格式复杂,传输占带宽;JSON 数据格式比较简单,易于读写,格式都是压缩的,占用带宽小。



可读性:

JSON和XML都具有较好的可读性,一种是简易的语法,另一种是规范的标签形式。


可扩展性:

XML天生有很好的扩展性,而JSON则可以存储 Javascript 复合对象,因此也有着自身在该领域的优势。


编码难度:

XML有丰富的编码工具,比如Dom4j、JDom等。不过xml文档有很多结构上的字符,所以要写出好的XML代码会有点困难,另外由于客户端不同浏览器之间解析XML的方式不一致,因此常常需要重复编写很多代码。而JSON的编码要比XML简单,即使不借助工具,也可以相对容易地写出JSON代码。同时,JSON格式能直接为服务器端代码使用,这大大简化了服务器端和客户端的代码开发量。


解码难度:

在web应用领域,开发者经常为XML的解析伤脑筋,无论是服务器端生成或处理XML,还是客户端用 JavaScript 解析XML,都常常导致开发效率的降低。而JSON格式更为清晰且冗余更少些,只是描述较简短。但是,由于JSON只提供整体解析方案,而这种方法只在解析较少的数据时才能起到良好的效果;而XML提供了对大规模数据的SAX逐步解析方案,这种方案很适合于对大量数据的处理。

主流数据格式 XML 与 JSON 的区别

长|按|二|维|码|关|注

获取更多产品介绍及业界动态

主流数据格式 XML 与 JSON 的区别研发云微信公众号
移动Labs公众号

 研·发·云


以上是关于主流数据格式 XML 与 JSON 的区别的主要内容,如果未能解决你的问题,请参考以下文章

json数据格式和xml数据格式的区别和用法是啥?

JSON的诞生与发展

JSON 是如何诞生与发展的?

JSON数据详解

url后面带.json和不带的区别是啥

JAVA对象转换成JSON字符串与JAVA String有啥区别