xml和json简介(理论较多,使用较少)

Posted duowenjia

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xml和json简介(理论较多,使用较少)相关的知识,希望对你有一定的参考价值。

  相信在大家编程过程中一定遇到过乱码的问题,这对于初学者来说可不友好,因为各种语言都有不同的编码格式,所以出现乱码也是经常的事情,比如在javaweb开发过程中使用post和get方法传递参数就很有可能出现乱码。所以我接触到了xml和json。

一.xml

  首先介绍一下xml,xml是可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。是Internet环境中跨平台的、依赖于内容的技术,也是当今处理分布式结构信息的有效工具。

  说起来xml和html都是可扩展标记语言,所以他们在外观上看着很相似。但是xml和html基本上没有什么关系,因为两者的使用目的基本上是相反的。html注重的是数据的展示,展示到用户可以看到的地方。而xml注重的是数据的储存,同样存取也比较方便。

  xml的数据的读取也很方便,java,c++等热门语言都有直接的接口用于xml文件的读取。

二.json

  JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

  如果说xml文件还有配置的作用,那么json可以说是纯粹的数据传输了。

  在 JS 语言中,一切都是对象。因此,任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且常用的两种类型:
  • 对象表示为键值对
  • 数据由逗号分隔
  • 花括号保存对象
  • 方括号保存数组

三.对比

<!--转自https://www.cnblogs.com/SanMaoSpace/p/3139186.html-->

(1).可读性方面。
JSON和XML的数据可读性基本相同,JSON和XML的可读性可谓不相上下,一边是建议的语法,一边是规范的标签形式,XML可读性较好些。
(2).可扩展性方面。
XML天生有很好的扩展性,JSON当然也有,没有什么是XML能扩展,JSON不能的。
(3).编码难度方面。
XML有丰富的编码工具,比如Dom4j、JDom等,JSON也有json.org提供的工具,但是JSON的编码明显比XML容易许多,即使不借助工具也能写出JSON的代码,可是要写好XML就不太容易了。
(4).解码难度方面。
XML的解析得考虑子节点父节点,让人头昏眼花,而JSON的解析难度几乎为0。这一点XML输的真是没话说。
(5).流行度方面。
XML已经被业界广泛的使用,而JSON才刚刚开始,但是在Ajax这个特定的领域,未来的发展一定是XML让位于JSON。到时Ajax应该变成Ajaj(Asynchronous javascript and JSON)了。
(6).解析手段方面。
JSON和XML同样拥有丰富的解析手段。
(7).数据体积方面。
JSON相对于XML来讲,数据的体积小,传递的速度更快些。
(8).数据交互方面。
JSON与JavaScript的交互更加方便,更容易解析处理,更好的数据交互。
(9).数据描述方面。
JSON对数据的描述性比XML较差。
(10).传输速度方面。
JSON的速度要远远快于XML。

以上是关于xml和json简介(理论较多,使用较少)的主要内容,如果未能解决你的问题,请参考以下文章

Python基础理论 - Python简介

PCA理论与实践

Flink学习之理论基础

Flink学习之理论基础

卡尔曼滤波简介及例子

Java 理论与实践: 正确使用 Volatile 变量