技术频道导航
HTML/CSS
.NET技术
IIS技术
PHP技术
Js/JQuery
Photoshop
Fireworks
服务器技术
操作系统
网站运营

赞助商

分类目录

赞助商

最新文章

搜索

[示例]详解JSON和XML的相似及区别之处

作者:admin    时间:2022-5-26 8:12:37    浏览:

JSON(JavaScript Object Notation)是一种数据交换格式,XML(eXtensible Markup Language)是一种自定义标记语言,用于交换数据并可以执行许多其他操作,例如数据验证。JSON 和 XML 都用于以易于理解的格式存储和交换数据。几乎所有编程语言,如Python、JavaScript、Ruby 以及各种 API(应用程序编程接口)都有 JSON 和 XML 解析器,通过这些解析器可以交换数据。尽管使用 XML 和 JSON 的目的相同,但它们都有各自的操作方式,可以在不同的场景中使用。

[示例]详解JSON和XML的相似及区别之处

JSON是什么

  • JavaScript Object Notation (JSON)是一种数据交换格式。简单来说,JSON 是一种以人类可读文本存储和传输数据对象的文件格式。
  • 它是一种轻量级且独立于语言(即 JSON 不使用任何编程语言的语法,并且其功能不依赖于任何编程语言)的数据交换格式,用于将数据发送到各种 API。
  • JSON 语法源自 javascript 编程语言,但用于读取和生成 JSON 数据的代码可以用任何编程语言编写,因为它独立于语言。而且人类很容易阅读和写作。
  • 所有 JSON 文件都以.json扩展名保存。
  • JSON 文件可以存储数据类型为 string、number、boolean、null 等的数据。
  • JSON 使用 JSON 对象和 JSON 数组在Web上存储和传输数据。本文将进一步解释 JSON 对象和 JSON 数组。

1. JSON 对象:

JSON 对象用于在 Web 上存储和传输数据。JSON 中的对象以键值对的形式存储数据。键值对是相关元素,其中键是定义数据集的常量,而值是该数据集的变量。例如。“color”可以是一个键和颜色,如“blue”、“red”等。可以是值。

JSON 对象中的键应该是字符串,值可以是任何有效的 JSON 数据类型。JSON 对象用大括号括起来,即{},而键和值用冒号分隔,即:,每个键值对用逗号分隔。

例子

{
 "book_name" : "The Alchemist",
 "author" : "Paulo Coelho",
 "genre" : "Adventure Fiction",
}

上面是存储与书籍相关的数据的键值对。在这里,book_nameauthorGenre是键,它们的相关值在 values 部分中。

2. JSON 数组:

JSON 中的数组就像任何其他编程语言中的数组一样。JSON 数组是一个对象列表,用方括号括起来,即[]。存储在 JSON 数组中的值可以是字符串、数字、对象、布尔值或 null 的数据类型。JSON 数组可以是 JSON 对象的列表,这意味着可以将多个键值对存储在单个数组中。

例子:

[
    {
        "id" : "1"
        "name" : "Mercedes Benz",
        "available" : true
    },
    {
        "id" : "2"
        "name" : "BMW",
        "available" : true
    }
    {
        "id" : "3"
        "name" : "Bentley",
        "available" : false
    }
]

上面的数组显示了汽车陈列室中汽车的可用性。数组的每个元素都是一个 JSON 对象,它以键值对的形式存储数据。在这里,这些对象具有有关不同汽车的信息,例如它们的 ID、名称以及它们是否出现在陈列室中。

使用 JSON 的优势

  • 由于语法简单,易于读写。
  • 所有浏览器都支持并被JavaScript识别。
  • 几乎可以与所有编程语言一起使用,并为所有浏览器提供支持。
  • 通过浏览器传输 JSON 文件要快得多。
  • 由于 javascript 的日益普及,JSON 的使用一直在增加。
  • JSON 支持不同的数据类型和键值对,使其易于理解。

使用 JSON 的缺点

  • JSON 不支持命名空间,无法扩展。
  • 它缺乏格式验证,这意味着不正确的数据结构可以传递到您的API中。
  • 与 XML 相比,JSON 的安全性较低。

XML是什么

  • XML 代表可扩展标记语言,旨在存储数据并广泛用于跨网络和各种 API 分发数据。
  • 标记语言是一组符号,以便人类和计算机易于理解。
  • XML 旨在存储和传输数据,但不用于呈现数据。
  • 它被广泛用于数据交换,因为几乎每种编程语言都有一个解析器。而且很容易从 XML 中获取和验证数据。
  • XML 具有存储命名空间的规定。命名空间是一种可以将元素和属性名称分配给组的机制。这使得区分来自不同来源的元素变得容易。
  • 元数据是关于数据的数据。XML允许在其文件中存储元数据,从而提供有关文件来源或任何其他元数据的信息。在某种程度上,XML 标签也可以被认为是元数据,因为它们解释了它们持有什么样的数据/属性。
  • 它广泛用于当今的虚拟世界,如电子银行、网上购物等。
  • XML 区分大小写并使用标签来存储数据。
  • 在 XML 中处理数据的两种方法是标签和属性。
  • XML 中的标签类似于 HTML 中的标签。标签以 <> 开头,以</>结尾。开始和结束标记的名称必须匹配。

例子:

<rainbow> 
    <violet> 1 </violet>
    <indigo> 2 </indigo>
    <blue> 3 </blue>  
    <green> 4 </green>
    <yellow> 5 </yellow>  
    <orange> 6 </orange>
    <red> 7 </red>
</rainbow>

上面的示例让我们了解了 XML 文件格式以及标签在 XML 中的使用方式。这里的<rainbow>是主标签,还有其他子标签,如<violet><red> 显示数值。 

使用 XML 的优势

  • XML 将数据与普通的HTML 文档分开。
  • 它简化了平台交换过程。
  • 支持不同的 API,几乎每种编程语言都有 XML 解析器。
  • 可以在 XML 中创建用户定义的标签。
  • XML 做了 JSON 做不到的事情——它可以修饰它并允许 Java 和 C++ 等语言为可能不是基于 Web 的应用程序创建接口。

使用 XML 的缺点

  • XML 中使用的语法很复杂,并且使用标记使其与其他基于 Web 的编程语言相似,这使其令人困惑。
  • XML 中没有数据类型支持。
  • XML 文件很庞大并且需要更大的大小。

XML 与 JSON 的结构

1. XML的结构

  • XML 以标签和属性两种方式处理数据。
  • 这些标签区分大小写。
  • XML 中的标签类似于 HTML 中的标签。标签以 <> 开头,以</>结尾。开始和结束标记的名称必须匹配。
  • 标签名称只能是字母、数字和下划线,且标签名称只能以字母开头。

例子:

<root>  
  <child>  
    <subchild>.....</subchild>  
  </child>  
</root> 

以上是 XML 标签的结构。它显示了 XML 标记的层次结构。XML 遵循树数据结构。树从根开始,分支到较低级别的树。<root>标签位于树的根部。

2. JSON的结构

  • JSON 以 JSON 数组和 JSON 对象两种方式处理数据。
  • JSON的数据结构层次是map格式。因为它处理键值对中的数据。
  • 它支持字符串、数字、布尔值、数组和空值等数据类型。
  • JSON 数组是一个对象列表,括在方括号中,即[]。
  • JSON 中的对象是将数据存储在键值对中的字典。JSON 对象中的键应该是字符串,值可以是任何有效的JSON 数据类型。
  • JSON 对象用大括号括起来,即{},而键和值用冒号分隔,即:,每个键值对用逗号分隔。

例子:

{
  "student": [ 

     { 
        "id":"01", 
        "name": "Tom", 
        "lastname": "Price" 
     }, 

     { 
        "id":"02", 
        "name": "Nick", 
        "lastname": "Thameson" 
     },
     
     { 
        "id":"03", 
        "name": "Ron", 
        "lastname": "Weasley" 
     }
  ]   
}

这里,学生是以键值对的形式存储学生信息的数组。

JSON 和 XML 之间的相似之处

  • JSON 和 XML 都具有在 Web 上存储和传输数据的相同目的。
  • 这些是人类可读的、易于理解的和自我描述的。
  • 两者都有大多数编程语言和API的解析器。JSON 和 XML 中的代码被转换为使用它的编程语言的编译器可以理解的代码。
  • 可以使用 HTTP 请求从 Web 服务器获取 JSON 和 XML 中的数据。HttpRequests用于从服务器请求数据。用于获取数据的方法是GET、PUT和POST。
  • JSON 和 XML 支持层次结构,即它们将值存储在值中。
  • JSON 和 XML 都是开源软件,软件代码可公开访问,任何人都可以查看、修改和分发代码。

JSON 和 XML 的区别

现在让我们详细看看 XML 与 JSON:

JSON XML
JSON 代表 JavaScript 对象表示法。 XML 代表可扩展标记语言。
JSON 文件以.json扩展名存储。 XML 文件以.xml扩展名存储。
它是从Javascript扩展而来的。 它是从SGML(标准通用标记语言)扩展而来的。
它是一种使用键值对表示对象的方法。 它是一种标记语言,使用标记结构来表示数据项。
JSON 是面向对象的,因为它是 javascript 对象的文本表示。它基本上是 JavaScript Notation 中的一个对象。 XML 是面向文档的。XML 从 SGML 扩展而来,保留了其作为文档格式的原有优势,并支持文档表示所需的混合标记。
以数组和键值对形式存储在 JSON 中的数据。 XML 以标签和属性的形式存储数据。
与 XML 相比,JSON 文件由于其简单的语法而易于理解。 由于标签结构复杂,XML 文件与 JSON 相比难以阅读和解释。
它不支持评论。 它支持评论。
它不支持命名空间和元数据。 它支持命名空间和元数据。
JSON 文件占用较小的大小,因为它们没有标签。 XML 文档体积庞大且体积庞大。它的标签结构使它们看起来很复杂。
JSON 在浏览器端技术中是首选,因为它的文件可以在更短的时间内传输。 XML 在服务器端技术中是首选,因为它提供了验证数据的功能。
由于格式简单且文件大小较小, JSON不那么冗长且速度更快。JSON 的这些特性使其在最近变得更加流行。JSON 流行的主要原因之一是越来越多地使用 Javascript。 XML 的复杂结构使其解析速度慢并且需要更多的内存。这降低了 XML 的流行度。但大多数情况下,由于高安全性和元数据规定,它是首选。
JSON 文件格式类似于地图数据结构。该映射类似于键/值对,在需要解释和可预测性时很有用。 XML 文件格式类似于树数据结构。表示数据的树表示。这使得处理 XML 成为一项乏味且耗时的任务。

总结

  • JSON 与 XML 有许多相似之处和不同之处。
  • JSON 和 XML 都用于在 Web上传输数据。
  • 由于与 JavaScript 的关联,JSON 目前越来越受欢迎。
  • 作为一种标记语言,XML 可以定义一组规则和结构以使数据可互换。
  • JSON 是首选,因为可以通过浏览器轻松交付更快、更轻量级的文件。

相关文章

标签: JSON  xml  
x
  • 站长推荐
/* 左侧显示文章内容目录 */