JSON教程:通过简单示例学习
⚡ 智能摘要
JSON,是 JSON 的缩写 Java脚本对象表示法 (Script Object Notation,SON) 是一种轻量级、易于阅读的格式,用于在服务器和应用程序之间存储和交换结构化数据。本文将解释其语法、数据类型、实际应用以及与 XML 的区别。
什么是 JSON?
JSON 是一种用于以有组织且易于访问的方式存储信息的文件格式。其完整形式为 Java脚本对象表示法。它提供了一组可逻辑访问的人类可读数据。其编写的编程代码的文件扩展名为 .json。JSON 的互联网媒体类型为 application/json,其统一类型标识符为 public.json。
既然定义已经明确,下一节将解释为什么开发人员选择 JSON 而不是其他数据格式。
为什么使用 JSON?
以下是使用 JSON 的重要好处/优点:
- 提供对所有浏览器的支持
- 易于阅读和书写
- 语法简单
- 您可以本地解析 Java使用 eval() 函数的脚本
- 易于创建和操作
- 得到所有主要 Java脚本框架
- 大多数后端技术均支持
- JSON 可以被原生识别 Java脚本
- 它允许你 transmit 并使用网络连接对结构化数据进行序列化。
- 您可以将它与现代编程语言一起使用。
- JSON 是可以转换为任何对象的文本 Java将脚本转换为 JSON 并将该 JSON 发送到服务器。
JSON 的历史

以下是构成 JSON 历史的重要里程碑:
- Douglas Crockford 在 2000 世纪初指定了 JSON 格式。
- 官方网站于2002年上线。
- 2005 年 XNUMX 月,雅虎开始以 JSON 格式提供部分网络服务。
- JSON 于 2013 年成为 ECMA 国际标准。
- 最新的 JSON 格式标准于 2017 年发布。
除了上述时间线之外,JSON 还提供了一系列实用功能,这解释了它经久不衰的流行度。
JSON 的特点
操作简单 – JSON API 提供高级外观,帮助您简化常用的用例。
性能 – JSON 速度非常快,因为它占用的内存空间很少,特别适合大型对象图或系统。
免费工具 – JSON 库是开源的,可以免费使用。
无需创建地图ping Jackson API 提供默认映射ping 需要序列化多个对象。
清理 JSON – 创建干净、兼容且易于阅读的 JSON 结果。
依赖 – JSON 库不需要任何其他库进行处理。
JSON 语法规则
JSON 语法规则如下:
- 数据应以名称/值对的形式
- 数据应以逗号分隔
- 花括号应该包含对象
- 方括号包含数组
JSON 中的数据类型
语法规则确定后,下表列出了 JSON 中使用的重要数据类型:
| 数据类型 | 描述 |
|---|---|
| 联系电话 | 包括实数、整数或浮点数 |
| 串 | 它由任何文本或 Unicode 双引号组成,带有反斜杠转义 |
| 布尔 | 布尔数据类型表示 True 或 False 值 |
| 空 | Null 值表示关联变量没有任何值 |
| 摆件 | 它是键值对的集合,始终用逗号分隔并用花括号括起来。 |
| 排列 | 它是一个有序的、分离的值序列。 |
联系电话
- 该数字是双精度浮点格式,取决于其实现方法。
- 在 JSON 中不能使用十六进制和八进制格式。
下表显示数字类型:
| 类型 | 描述 |
|---|---|
| 整数 | 数字 1-9 和 0。正数和负数。 |
| 分数 | 像 3 这样的分数 |
| 指数 | 指数如 e、e+ |
语法:
var json-object-name = { string : number_value,......}
计费示例:
var obj = {salary: 2600}
串
它是一系列用双引号括起来的Unicode字符,并且带有反斜杠。ping.
下表显示了各种字符串类型:
| 类型 | 描述 |
|---|---|
| * | 用于双引号ping |
| / | 用于固相线 |
| \ | 用于反固相线 |
| B | 使用添加退格键 |
| F | 来自饲料 |
| N | 创建新行 |
| R | 用于回车 |
| T | 显示水平制表符 |
| U | 十六进制数字 |
语法:
var json-object-name = { string : "string value",…..}
计费示例:
var obj = {name: 'Andy'}
布尔
它仅存储真值或假值。
语法:
var json-object-name = {string : true/false, …..}
计费示例:
var obj = {active: 'true'}
排列
- 它是一个有序的值的集合。
- 当键名是连续的整数时,您应该使用数组。
- 它应该放在方括号内,并以“,” (逗号) 分隔
语法:
[value, .......]
计费示例:
显示存储多个对象的数组:
{
"eBooks":[
{
"language":"Pascal",
"edition":"third"
},
{
"language":"Python",
"edition":"four"
},
{
"language":"SQL",
"edition":"second"
}
]
}
JSON 对象
A JSON 对象 是 JSON 中用大括号括起来的实体,以无序的名称和值对集合的形式书写,名称后面必须跟“:”(冒号),名称/值对之间必须用“,”(逗号)分隔,可用于键名为任意字符串的情况。
语法:
{ string : value, ….. }
计费示例:
{
"id": 110,
"language": "Python",
"price": 1900,
}
空格
您可以在一对标记之间插入空格。
计费示例:
语法:
{string:" ",….}
计费示例:
var a = " Alex"; var b = "Steve";
JSON 示例
给定的代码示例定义了如何使用 JSON 存储与 编程书籍 以及版本和作者姓名。
{
"book":[
{
"id":"444",
"language":"C",
"edition":"First",
"author":"Dennis Ritchie "
},
{
"id":"555",
"language":"C++",
"edition":"second",
"author":" Bjarne Stroustrup "
}
]
}
让我们通过另一个 JSON 文件示例来了解 JSON 格式。这里,JSON 定义了学生的名字、姓氏和 ID。
{
"student": [
{
"id":"01",
"name": "Tom",
"lastname": "Price"
},
{
"id":"02",
"name": "Nick",
"lastname": "Thameson"
}
]
}
JSON 的应用
以下是 JSON 的一些常见应用:
- 帮助您从服务器传输数据
- 示例 JSON 文件格式有助于 transmit 并序列化所有类型的结构化数据。
- 允许您执行异步数据调用,而无需刷新页面
- 帮助您 transmit 服务器与Web应用程序之间的数据传输。
- 它广泛用于 Java基于脚本的应用程序,包括浏览器扩展和网站。
- 您还可以 transmit 服务器和Web应用程序之间使用JSON进行数据传输。
- 我们可以将 JSON 与现代编程语言结合使用。
- 它用于书写 Java包含浏览器插件的基于脚本的应用程序。
- Web服务和Restful API使用JSON格式来获取公共数据。
由于 JSON 应用非常广泛,因此它经常被拿来与 XML 进行比较,而 XML 正是它经常取代的格式。
JSON 与 XML
这是 JSON 与 XML 之间的主要区别
| JSON | XML |
|---|---|
| JSON 对象具有类型 | XML 数据是无类型的 |
| JSON 类型:字符串、数字、数组、布尔值 | 所有 XML 数据都应为字符串 |
| 数据可以作为 JSON 对象轻松访问 | XML数据需要被解析。 |
| JSON 文件更易于人类阅读。 | XML 文件的可读性较差。 |
| 大多数浏览器都支持 JSON。 | 跨浏览器 XML 解析可能比较棘手 |
| JSON 没有显示功能。 | XML 提供了显示数据的能力,因为它是一种标记语言。 |
| 获取价值很容易 | 检索价值很困难 |
| 受许多 Ajax 工具包支持 | 未被 Ajax 工具包完全支持 |
| 一种全自动反序列化/序列化的方法 Java脚本。 | 开发人员必须编写 Java从 XML 序列化/反序列化的脚本代码 |
| 对对象的本机支持。 | 对象必须通过约定来表达——大多忽略了属性和元素的使用。 |
JSON 示例
以下是一个简单的 JSON 示例:
{
"student": [
{
"id":"01",
"name": "Tom",
"lastname": "Price"
},
{
"id":"02",
"name": "Nick",
"lastname": "Thameson"
}
]
}
XML 示例
<?xml version="1.0" encoding="UTF-8" ?> <root> <student> <id>01</id> <name>Tom</name> <lastname>Price</lastname> </student> <student> <id>02</id> <name>Nick</name> <lastname>Thameson</lastname> </student> </root>
JSON 不是什么?
- 示例 JSON 数据文件不是文档格式。
- 它不是一种标记语言。
- JSON没有提供通用的序列化格式。
- 它不是重复或循环的结构。
- 它也不是一个隐形的结构。
JSON 的缺点
JSON 的优点如下:
- 不支持命名空间,因此可扩展性差
- 有限 开发工具 支持
- 不支持正式的语法定义
热门 JSON 工具(插件)
以下是重要的 JSON 工具:
JSONLint:
JSONLint 是一个开源项目,用作 JSON 的验证器和格式化工具。JSON 是一种轻量级的数据交换格式。支持复制粘贴、直接输入或以其他方式输入。 URL 使用 JSON 验证工具验证您的 JSON 代码。
JSON 编辑器在线:
JSON Editor Online 是一款实用的基于 Web 的工具。它允许您编辑、查看和格式化 JSON。它以清晰、可编辑的方式并排显示您的数据 代码编辑器软件.
链接: https://jsoneditoronline.org/
JSON 压缩工具:
它是一个帮助您删除空格并提供占用最少空间的 JSON 代码的工具。
链接: https://www.browserling.com/tools/json-minify
JSON 到 XML 转换器:
JSON 到 XML 转换器是一个简单有效的工具,可以帮助您转换 JSON 代码。
链接: https://codebeautify.org/jsontoxml
JSON 格式化程序:
JSON 格式化程序通过格式化 JSON 数据来帮助您解决问题,以便人们轻松读取和调试。
链接: https://jsonformatter.curiousconcept.com/

