JSON 教程:通过简单文件格式示例进行学习
什么是 JSON?
JSON 是一种用于以有组织且易于访问的方式存储信息的文件格式。其完整形式为 Java脚本对象表示法。它提供了一组可逻辑访问的人类可读数据。其编写的编程代码的文件扩展名为 .json
。JSON 的互联网媒体类型为 application/json,其统一类型标识符为 public.json。
为什么使用 JSON?
以下是使用 JSON 的重要好处/优点:
- 提供对所有浏览器的支持
- 易于阅读和书写
- 语法简单
- 您可以本地解析 Java使用 eval() 函数的脚本
- 易于创建和操作
- 得到所有主要 Java脚本框架
- 大多数后端技术均支持
- JSON 可以被原生识别 Java脚本
- 它允许您使用网络连接传输和序列化结构化数据。
- 您可以将它与现代编程语言一起使用。
- JSON 是可以转换为任何对象的文本 Java将脚本转换为 JSON 并将该 JSON 发送到服务器。
JSON 的历史
以下是构成 JSON 历史的重要里程碑:
- Douglas Crockford 在 2000 世纪初指定了 JSON 格式。
- 官方网站于2002年上线。
- 2005 年 XNUMX 月,雅虎开始以 JSON 格式提供部分网络服务。
- JSON 于 2013 年成为 ECMA 国际标准。
- 最新的 JSON 格式标准于 2017 年发布。
JSON 的特点
操作简单 – JSON API 提供高级外观,帮助您简化常用的用例。
性能 – JSON 速度非常快,因为它占用的内存空间很少,特别适合大型对象图或系统。
免费工具 – JSON 库是开源的,可以免费使用。
不需要创建映射 – Jackson API 为许多要序列化的对象提供了默认映射。
清理 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 字符,并带有反斜杠转义。
下表显示了各种字符串类型:
类型 | 描述 |
---|---|
* | 用于双引号输入 |
/ | 用于固相线 |
\ | 用于反固相线 |
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 文件格式有助于传输和序列化所有类型的结构化数据。
- 允许您执行异步数据调用,而无需刷新页面
- 帮助您在服务器和 Web 应用程序之间传输数据。
- 它广泛用于 Java基于脚本的应用程序,包括浏览器扩展和网站。
- 您可以使用 JSON 在服务器和 Web 应用程序之间传输数据。
- 我们可以将 JSON 与现代编程语言结合使用。
- 它用于书写 Java包含浏览器插件的基于脚本的应用程序。
- Web服务和Restful API使用JSON格式来获取公共数据。
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 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/
总结
- JSON 方法用于以有组织的、易于访问的方式存储信息。
- JSON 代表 Java脚本对象符号。
- JSON 为多种语言提供的所有浏览器支持。
- Douglas Crockford 在 2000 世纪初指定了 JSON 格式
- JSON API 提供高级外观,可帮助您简化常用用例
- 编写 JSON 系统的重要规则是数据应以名称/值对的形式编写。
- 数字、字符串、布尔值、Null、对象和数组是 JSON 中使用的重要数据类型。
- 它可以帮助您从服务器传输数据。
- JSON 对象有类型,而 XML 数据无类型
- JSON 不是文档格式
- 不支持命名空间,因此可扩展性差
- JSONLint 是一个开源项目,用作 JSON 的验证器和重新格式化器。