JSON 教程:通过简单文件格式示例进行学习

什么是 JSON?

JSON 是一种用于以有组织且易于访问的方式存储信息的文件格式。其完整形式为 Java脚本对象表示法。它提供了一组可逻辑访问的人类可读数据。其编写的编程代码的文件扩展名为 .json。JSON 的互联网媒体类型为 application/json,其统一类型标识符为 public.json。

为什么使用 JSON?

以下是使用 JSON 的重要好处/优点:

  • 提供对所有浏览器的支持
  • 易于阅读和书写
  • 语法简单
  • 您可以本地解析 Java使用 eval() 函数的脚本
  • 易于创建和操作
  • 得到所有主要 Java脚本框架
  • 大多数后端技术均支持
  • JSON 可以被原生识别 Java脚本
  • 它允许您使用网络连接传输和序列化结构化数据。
  • 您可以将它与现代编程语言一起使用。
  • JSON 是可以转换为任何对象的文本 Java将脚本转换为 JSON 并将该 JSON 发送到服务器。

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 代码。

链接: https://jsonlint.com

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 的验证器和重新格式化器。