首页 > 文章列表 > 关于 JSON 的有趣事实

关于 JSON 的有趣事实

300 2023-09-14

JSON 代表 JavaScript Object Notation,基本上,JSON 经常与 JavaScript 一起使用,它最初是 JavaScript 编程语言的子集。然而,JSON 是一种独立于语言的数据格式。在本文中,我们将通过示例了解 JSON 及其有趣的事实。

JSON 简介

当数据可以以简单的格式传输和存储时,称为 JSON,或 JavaScript 对象表示法。数组、对象、名称和值对以及其他数据类型都可以在 JSON 中找到。该格式使用引号、方括号、括号、分号和冒号作为标点符号。在 JSON 中,数据表示为名称-值对,很像 JavaScript 对象属性。 JSON 是一种轻量级的数据传输方式。而且,这种语言被描述为基于原型、多范式和动态的。每当数据从服务器发送到网页时,我们都需要使用 JSON。

JSON 事实

在这里,我们将通过解释和示例讨论有关 JSON 的许多有趣的事实。以下是有关 JSON 的有趣事实 -

  • 最初,JSON 被认为是 JavaScript 编程语言的子集。 (特别是 1999 年 12 月发布的标准 ECMA-262,第三版)。

  • JSON 是由 JavaScript 生成的,现在许多编程语言都有可用于调用和解释 JSON 格式数据的代码。它是一种不特定于语言的数据格式。接受的 JSON 互联网媒体类型是 application/JSON。 .json 扩展名用于 JSON 文件名。

  • Douglas Crockford 是第一个定义并推广 JSON 格式的人。 2001 年 4 月,Douglas Crockford 和 Chip Morningstar 发送了第一条 JSON 消息。

  • Crockford 在 JSON 许可证中插入了一个短语,声明“该软件应用于善良,而非邪恶”。另一方面,由于自由软件和开源软件通常意味着对使用目的没有限制,这部分内容导致了 JSON 许可证与其他开源许可证的许可兼容性问题。

  • JSON 格式的语法与 JavaScript 对象创建代码的语法相当。这使得 JavaScript 程序可以轻松地将 JSON 数据转换为 JavaScript 对象。 JSON 数据可以被任何编程语言使用,并且由于它只是文本格式,因此可以在机器之间轻松传输。

  • Cartoon Network 的 Communities.com 上有一款儿童数字资产交易游戏,名为“Cartoon Orbit”(State 联合创始人均曾在该公司工作过),使用的是浏览器端插件,带有自定义消息系统以更改 DHTML 组件。这是 JSON 库的开始阶段。

  • 如果 JSON 文件存在语法问题,请求通常会失败且无提示。因此,不应频繁手动编辑 JSON 数据。数据交换格式 JSON 比 JavaScript 的对象字面量表示法具有更高的语法要求。例如,JSON 表示中的所有字符串,无论是值还是属性,都需要包含在双引号中

  • JSON 字符串由用户浏览器中运行的 JavaScript 解密,然后在页面上显示产品数据。

使用 JSON

正如我们所见,JSON 是 JavaScript 编程语言中的一种对象类型,它以字符串文字的形式存储数据,并以 .json 扩展名结尾。 JSON 的对象以键值格式存储数据,就像 JavaScript 的对象一样,用大括号括起来。让我们看一个例子来更好地了解 JSON 代码 -

{
   "key1" : "pair1",
   "key2" : "pair2",
   "key3" : {
      "sub-key1" : "opp_value",
      "sub_key2" : "opp_value",
   },
   "key4" : {
      "sub-key1" : "opp_value",
      "sub_key2" : "opp_value",
   },
   "key5" : "pair5",
}

在上面的 JSON 代码中,我们可以看到有 5 个键对,其中键是简单字符串的形式,键对可以是字符串,也可以是其他对象,可以是数组、字符串等。所有密钥对均由逗号分隔并覆盖在大括号内。

任何数据都可以以这种方式存储,并且可以使用这种格式以简单的方式传递或共享。

在 JSON 中存储数组

我们已经看到了编写 JSON 对象的简单代码,现在让我们看看用户如何在 JSON 对象中存储数组 -

{
   "key1" : "pair1",
   "key2" : "pair2",
   "key3" : {
      "sub-key1" : "opp_value",
      "sub_key2" : "opp_value",
   },
   "key4" : [
      "sub-key1" : "opp_value",
      "sub_key2" : "opp_value", object1, object2
   ],
   "key5" : "pair5",
}

在上面的代码中,我们可以看到第四个键中存储的是一个数组,而不是另一个对象,这是 json 支持的。

JSON 和 XML 之间的区别

JSON 和 XML 都用于存储数据并共享或传输数据,并且两者都非常擅长自己的联盟​​,让我们看看它们之间的一些区别 -

  • 与 XML 相比,JSON 非常容易学习,因为它并不直接使用。

  • 由于 JSON 只是一个包含密钥对形式的数据的直字符串,因此很容易读写 JavaScript 对象,而 XML 则很难读写

    < /里>
  • JSON 是面向数据的,并且以这种方式工作,而 XML 是面向文档的。

  • JSON 并不安全,因为它只是面向数据的,而 XML 与 JSON 相比相当安全。

  • XML 不支持数组,而 JSON 提供了支持数组的工具。

XML 和 JSON 之间的相似之处

我们已经看到了 JSON 和 XML 之间的一些差异,现在让我们看看它们之间的一些共同点 -

  • 由于 XML 和 JSON 都包含人们可以阅读的文本,因此它们都是自描述性的

  • JSON 和 XML 都支持分层组织。当我们谈论层次结构时,我们指的是包含在值中的值。

  • 数据交换格式 JSON 和 XML 等数据交换格式受到多种编程语言的支持。

  • 这两种格式都可以快速、简单地处理。

  • 检索:两种形式的数据都可以使用 HTTP 请求检索。可以使用 GET、PUT 和 POST 方法检索数据。

结论

在本文中,我们通过示例了解了 JSON 及其有趣的事实。 JSON 代表 JavaScript 对象表示法,基本上,JSON 经常与 JavaScript 一起使用,它最初是 JavaScript 编程语言的子集。数组、对象、名称和值对以及其他数据类型都可以在 JSON 中找到。该格式使用引号、方括号、括号、分号和冒号作为标点符号。