0

0

关于 JSON 的有趣事实

王林

王林

发布时间:2023-09-09 16:01:06

|

1446人浏览过

|

来源于tutorialspoint

转载

关于 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 对象中存储数组 -

Glif
Glif

Glif.app 是一个有趣的AI沙盒工具,用于创建名为 glifs 的微型AI生成器,例如自拍生成器、Meme梗图、表情包、漫画、故事等

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

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
js获取数组长度的方法
js获取数组长度的方法

在js中,可以利用array对象的length属性来获取数组长度,该属性可设置或返回数组中元素的数目,只需要使用“array.length”语句即可返回表示数组对象的元素个数的数值,也就是长度值。php中文网还提供JavaScript数组的相关下载、相关课程等内容,供大家免费下载使用。

553

2023.06.20

js刷新当前页面
js刷新当前页面

js刷新当前页面的方法:1、reload方法,该方法强迫浏览器刷新当前页面,语法为“location.reload([bForceGet]) ”;2、replace方法,该方法通过指定URL替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,不能通过“前进”和“后退”来访问已经被替换的URL,语法为“location.replace(URL) ”。php中文网为大家带来了js刷新当前页面的相关知识、以及相关文章等内容

374

2023.07.04

js四舍五入
js四舍五入

js四舍五入的方法:1、tofixed方法,可把 Number 四舍五入为指定小数位数的数字;2、round() 方法,可把一个数字舍入为最接近的整数。php中文网为大家带来了js四舍五入的相关知识、以及相关文章等内容

731

2023.07.04

js删除节点的方法
js删除节点的方法

js删除节点的方法有:1、removeChild()方法,用于从父节点中移除指定的子节点,它需要两个参数,第一个参数是要删除的子节点,第二个参数是父节点;2、parentNode.removeChild()方法,可以直接通过父节点调用来删除子节点;3、remove()方法,可以直接删除节点,而无需指定父节点;4、innerHTML属性,用于删除节点的内容。

477

2023.09.01

JavaScript转义字符
JavaScript转义字符

JavaScript中的转义字符是反斜杠和引号,可以在字符串中表示特殊字符或改变字符的含义。本专题为大家提供转义字符相关的文章、下载、课程内容,供大家免费下载体验。

394

2023.09.04

js生成随机数的方法
js生成随机数的方法

js生成随机数的方法有:1、使用random函数生成0-1之间的随机数;2、使用random函数和特定范围来生成随机整数;3、使用random函数和round函数生成0-99之间的随机整数;4、使用random函数和其他函数生成更复杂的随机数;5、使用random函数和其他函数生成范围内的随机小数;6、使用random函数和其他函数生成范围内的随机整数或小数。

990

2023.09.04

如何启用JavaScript
如何启用JavaScript

JavaScript启用方法有内联脚本、内部脚本、外部脚本和异步加载。详细介绍:1、内联脚本是将JavaScript代码直接嵌入到HTML标签中;2、内部脚本是将JavaScript代码放置在HTML文件的`<script>`标签中;3、外部脚本是将JavaScript代码放置在一个独立的文件;4、外部脚本是将JavaScript代码放置在一个独立的文件。

656

2023.09.12

Js中Symbol类详解
Js中Symbol类详解

javascript中的Symbol数据类型是一种基本数据类型,用于表示独一无二的值。Symbol的特点:1、独一无二,每个Symbol值都是唯一的,不会与其他任何值相等;2、不可变性,Symbol值一旦创建,就不能修改或者重新赋值;3、隐藏性,Symbol值不会被隐式转换为其他类型;4、无法枚举,Symbol值作为对象的属性名时,默认是不可枚举的。

551

2023.09.20

Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

36

2026.01.14

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号