分享

JSON和XML的区别

 wenxuefeng360 2022-07-05 发表于四川
JSON 和 XML 都是基于文本的可读格式,独立于编程语言,能够在几乎所有的编程语言中使用。本节我们就来介绍一下 JSON 和 XML 的区别。

在介绍 JSON 和 XML 的区别之前,我们先来分别介绍一下 JSON 和 XML。

什么是 XML?

XML 全称“Extensive Markup Language”,译为“可扩展标记语言”,是一种源自 SGML 的、基于文本的数据格式(XML 是 SGML 的一个子集)。

SGML 全称“Standard Generalized Markup language”,译为“标准通用标记语言”,简称“通用标言”,是一种定义电子文档结构和描述其内容的国际标准语言,是 1986 年国际标准化组织出版发布的一个信息管理方面的国际标准。

XML 是一种专门为了存储数据而创建的标记语言,它的编写方式与 HTML 非常相似,能够通过不同的标签来标记不同的内容,下面展示了一个简单 XML 数据:
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <note>
  3. <title>JSON教程</title>
  4. <author>C语言中文网</author>
  5. <url>/</url>
  6. <catalogue>
  7. <li>JSON是什么?</li>
  8. <li>JSONP是什么?</li>
  9. <li>JSON语法规则</li>
  10. </catalogue>
  11. </note>
XML 旨在传输或保存数据,而不是显示数据,在 XML 中,没有预定义标签,其中使用的所有标签都是自定义的,而且所有的标签都由两个部分组成,分别是开始标签(例如<tagname>)和结束标签(例如</tagname>)。需要注意的是,XML 中的标签是区分大小写的。

XML 的主要优点是它可以跨平台、跨语言进行传输。另外,XML 数据可以保存在格式为 .xml 的文本文件中。

什么是 JSON?

JSON 全称“JavaScript Object Notation”,译为“JavaScript 对象简谱”或“JavaScript 对象表示法”,是一种轻量级的、基于文本的、开放的数据交换格式。与 XML 相同,JavaScript 同样可以跨平台、跨语言传递数据。

JSON 数据的结构类似于一个 JavaScript 对象,如下例所示:
  1. {
  2. "title":"JSON教程",
  3. "author":"C语言中文网",
  4. "url":"/",
  5. "catalogue":[
  6. "JSON是什么?",
  7. "JSONP是什么?",
  8. "JSON语法规则"
  9. ]
  10. }
JSON 的优点在于其结构灵活,所有的浏览器都支持。而且 JSON 语法简单,大多数编程语言都支持 JSON(有些本身就支持,有些可以通过第三方库得到支持)。另外,JSON 数据可以存储在 .json 格式的文本文件中。

有关 JSON 的详细介绍,您可以查阅《JSON是什么?》一节。

JSON 与 XML 之间的差异

尽管 JSON 和 XML 的功能非常相似,但它们之间还是存在一些差异的,如下表所示:

JSON XML
JSON 是一种数据格式 XML 是一种标记语言
与 XML 相比,JSON 数据更容易阅读 XML 文档相对来说阅读起来比较困难
JSON 数据可以存储在 .json 格式的文本文件中 XML 数据可以存储在 .xml 格式的文本文件中
JSON 中支持字符串、数字、数组、布尔值等类型 XML 中只有字符串类型
JSON 没有显示功能 XML 提供了显示数据的能力,因为它是一种标记语言
JSON 仅支持 UTF-8 编码 XML 支持各种编码
JSON 不支持注释 XML 支持注释
JSON 不支持命名空间 XML 支持命名空间
JSON 读写速度更快,且更容易解析 相对于 JSON,XML 数据结构更加复杂,解析速度相对较慢
相对于 XML,JSON 的安全性较低 相对于 JSON,XML 的安全性更高

JSON 与 XML 之间的相似之处

除了有许多不同的地方外,JSON 与 XML 之间也有许多相似的地方,最主要的就是,它们的用途是相同的,即存储和传输数据。其次,它们都可以存储在文本文件中,程序员无需借助计算机就可以读写它们中的内容。

此外,在 HTTP 请求中,JSON 和 XML 都能够作为传输数据的类型,在服务器与客户端之间进行传递。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 全屏 打印 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多