JSON和XML的区别
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JSON和XML的区别
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 都能够作为传输数据的类型,在服务器与客户端之间进行传递。