搜索
首页web前端js教程关于 JSON 的有趣事实

关于 JSON 的有趣事实

Sep 09, 2023 pm 04:01 PM

关于 JSON 的有趣事实

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 中找到。该格式使用引号、方括号、括号、分号和冒号作为标点符号。

以上是关于 JSON 的有趣事实的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:tutorialspoint。如有侵权,请联系admin@php.cn删除
JavaScript的角色:使网络交互和动态JavaScript的角色:使网络交互和动态Apr 24, 2025 am 12:12 AM

JavaScript是现代网站的核心,因为它增强了网页的交互性和动态性。1)它允许在不刷新页面的情况下改变内容,2)通过DOMAPI操作网页,3)支持复杂的交互效果如动画和拖放,4)优化性能和最佳实践提高用户体验。

C和JavaScript:连接解释C和JavaScript:连接解释Apr 23, 2025 am 12:07 AM

C 和JavaScript通过WebAssembly实现互操作性。1)C 代码编译成WebAssembly模块,引入到JavaScript环境中,增强计算能力。2)在游戏开发中,C 处理物理引擎和图形渲染,JavaScript负责游戏逻辑和用户界面。

从网站到应用程序:JavaScript的不同应用从网站到应用程序:JavaScript的不同应用Apr 22, 2025 am 12:02 AM

JavaScript在网站、移动应用、桌面应用和服务器端编程中均有广泛应用。1)在网站开发中,JavaScript与HTML、CSS一起操作DOM,实现动态效果,并支持如jQuery、React等框架。2)通过ReactNative和Ionic,JavaScript用于开发跨平台移动应用。3)Electron框架使JavaScript能构建桌面应用。4)Node.js让JavaScript在服务器端运行,支持高并发请求。

Python vs. JavaScript:比较用例和应用程序Python vs. JavaScript:比较用例和应用程序Apr 21, 2025 am 12:01 AM

Python更适合数据科学和自动化,JavaScript更适合前端和全栈开发。1.Python在数据科学和机器学习中表现出色,使用NumPy、Pandas等库进行数据处理和建模。2.Python在自动化和脚本编写方面简洁高效。3.JavaScript在前端开发中不可或缺,用于构建动态网页和单页面应用。4.JavaScript通过Node.js在后端开发中发挥作用,支持全栈开发。

C/C在JavaScript口译员和编译器中的作用C/C在JavaScript口译员和编译器中的作用Apr 20, 2025 am 12:01 AM

C和C 在JavaScript引擎中扮演了至关重要的角色,主要用于实现解释器和JIT编译器。 1)C 用于解析JavaScript源码并生成抽象语法树。 2)C 负责生成和执行字节码。 3)C 实现JIT编译器,在运行时优化和编译热点代码,显着提高JavaScript的执行效率。

JavaScript在行动中:现实世界中的示例和项目JavaScript在行动中:现实世界中的示例和项目Apr 19, 2025 am 12:13 AM

JavaScript在现实世界中的应用包括前端和后端开发。1)通过构建TODO列表应用展示前端应用,涉及DOM操作和事件处理。2)通过Node.js和Express构建RESTfulAPI展示后端应用。

JavaScript和Web:核心功能和用例JavaScript和Web:核心功能和用例Apr 18, 2025 am 12:19 AM

JavaScript在Web开发中的主要用途包括客户端交互、表单验证和异步通信。1)通过DOM操作实现动态内容更新和用户交互;2)在用户提交数据前进行客户端验证,提高用户体验;3)通过AJAX技术实现与服务器的无刷新通信。

了解JavaScript引擎:实施详细信息了解JavaScript引擎:实施详细信息Apr 17, 2025 am 12:05 AM

理解JavaScript引擎内部工作原理对开发者重要,因为它能帮助编写更高效的代码并理解性能瓶颈和优化策略。1)引擎的工作流程包括解析、编译和执行三个阶段;2)执行过程中,引擎会进行动态优化,如内联缓存和隐藏类;3)最佳实践包括避免全局变量、优化循环、使用const和let,以及避免过度使用闭包。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器