所有WIKI > J字母 > JSON学习大纲

JSON学习大纲

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它是基于JavaScript语言的一个子集,可以用于存储和传输数据。JSON格式的数据是一种键值对的结构,用于表示复杂的数据结构,如数组和嵌套的对象。JSON的语法简洁明了,易于阅读和编写,同时也易于解析和生成,因此在Web应用程序中广泛使用。JSON格式的数据可以用于前后端之间的数据交换、存储和传输,并且可以与多种编程语言进行互操作性。

JSON是REST APIAsyncAPI事实上的报文格式标准。

为什么要使用 JSON?

简单易用

JSON的语法简单,易于理解和编写,可以快速地进行数据交换。

跨平台支持

JSON可以被多种编程语言解析和生成,可以在不同的平台和语言之间进行数据交换和传输。

数据交换格式

JSON是一种标准的数据交换格式,可以在Web应用程序中广泛使用,如前后端数据交互、API接口数据传输等。

轻量级

JSON的数据格式轻量级,传输数据时占用带宽较小,可以提高数据传输速度。

易于扩展

JSON的数据结构灵活,支持嵌套对象和数组等复杂的数据结构,便于扩展和使用。

安全性

JSON数据格式是一种纯文本格式,不包含可执行代码,不会执行恶意代码,因此具有较高的安全性。

什么时候会使用 JSON?

前后端数据传输

当Web应用程序需要进行前后端数据传输时,可以使用JSON格式来传输数据,以便前后端之间进行数据交互。

API接口数据传输

当使用API接口进行数据传输时,可以使用JSON格式来传输数据,以便多个系统之间进行数据交互。

存储数据

当需要存储数据时,可以使用JSON格式来存储数据,以便后续的读取、修改和删除等操作。

日志记录

当需要记录日志时,可以使用JSON格式来记录日志信息,以便后续的分析和查询。

配置文件

当需要存储配置文件时,可以使用JSON格式来存储配置信息,以便后续的读取和修改操作。

JSON 数据如何存储?

文件存储

可以将JSON数据存储在文件中,以便后续读取和使用。可以使用文本编辑器或JSON解析库将JSON数据写入文件中,也可以使用应用程序生成JSON数据文件。

数据库存储

可以将JSON数据存储在数据库中,以便后续的读取、修改和删除等操作。目前,许多关系型和非关系型数据库都支持JSON数据存储和查询,如MongoDB、PostgreSQL等。

内存存储

可以将JSON数据存储在内存中,以便快速读取和使用。一些内存数据库,如Redis等,支持JSON数据存储和查询。

在存储JSON数据时,应注意什么?

数据格式

JSON数据必须符合JSON语法规范,否则将无法正确解析和使用。

数据安全

JSON数据可能包含敏感信息,因此应采取适当的安全措施,如加密、访问控制等。

数据备份

应定期备份JSON数据,以便在数据丢失或损坏时进行恢复。

JSON 有什么缺点?

不适合存储大型二进制数据

JSON适合存储文本数据,但不适合存储大型的二进制数据,因为它会将二进制数据转换为Base64编码格式,导致数据量增大。

不支持注释

JSON不支持注释,因此无法在JSON数据中添加注释信息,这可能会影响代码的可读性和可维护性。

不支持时间格式

JSON没有内置的时间格式,因此需要在应用程序中进行时间格式的转换,增加了额外的代码复杂性。

不支持枚举类型

JSON中没有内置的枚举类型,因此需要在应用程序中进行枚举类型的处理,增加了额外的代码复杂性。

可读性较差

JSON的数据格式较为紧凑,可读性较差,可能会给开发人员带来阅读和维护的困难。

常用文本结构化语言

XML:是 “eXtensible Markup Language”(可扩展标记语言),是标记语言。使用广泛,从数据标准、数据交互,到程序交换。
JSON:是“JavaScript Object Notation“( JS 对象标记),一种轻量级的数据交换格式,与JS天然契合。发展于Web时代,是当下REST API的事实数据格式。
YAML:是 ‘YAML Aint Markup Language'(YAML不是一种标记语言)的缩写,本意在强调其以数据作为重心,而非标记语言。常见于程序配置。
Avro:以 JSON 格式存储数据定义,使其便于阅读和解释;数据本身以二进制格式存储,以达到紧凑且高效的目的。常用于大数据。

参考资料

JSON官方
原文:JSON定义