第1章 什么是JSON
宏观上看, JSON 是一种轻量的数据格式,在各种地方传递数据。如果单用眼睛看,JSON 里的数据是被保存在花括号({})中的,而如果从用途上进一步分析,最终我们会得出结论:JSON 是一种数据交换格式。
1.1 JSON是一种数据交换格式
数据交换格式是一种在不同平台间传递数据的文本格式。除 JSON 外,你也可能听说过 XML 这种数据交换格式。像 XML 和 JSON 这样的数据交换格式非常重要,我们需要它们来实现不同系统间的数据交换。
举个例子,假如有这样一个世界,它由数百个散布在海洋中的小岛所组成。每个海岛都是相互独立的,并有自己独特的语言和习俗。这些岛上都有许多商人,他们需要在海岛间进行长途航行。这种对外贸易是所有海岛经济必需的组成部分,也有助于提高岛民的生活水平。而这一切的实现都要归功于那些训练有素的送信海鸥。
这些海鸥在岛间飞行,携带着需求量最大的货物的信息。商人根据这些信息来决定他们的下一站,以及在长途航行前应储备哪些货物。也正是凭借这些关键的数据,各个海岛间才可以互通有无,共同繁荣。
别忘了,每个海岛的语言都不同。如果这些信息用各种不同的语言编写, 那么每个海岛都要花上一大笔钱来研究各种语言,并组建一支翻译团队。这既昂贵,又费时。不过岛民们十分聪明,他们决定统一使用一种语言, 用一种标准的数据格式来传达贸易数据。这样,每个海岛都只需雇用一个懂得这一数据格式的翻译就好了,由他们来解读海鸥带来的贸易报告。
这个海岛的例子其实就映射出了我们在实际生活中所使用的技术。我们的生活中充满了各种系统,它们所使用的语言和架构都不尽相同。而对于使用这些系统的企业和组织来说,它们之间相互通信的能力又是不可或缺的。但如果每一个系统都必须有一个专门针对其他所有系统的数据组织形式的翻译组件,那么它们之间的交流便要消耗许多时间和资源,这显然是不合理的。所以,这些系统间也需要一种单一的数据格式,以及单一的翻译组件。
JSON就是这样一种被许多系统用于交换数据的数据交换格式。有人把它叫作“数据交换格式”,甚至直接叫“数据格式”。我们把 JSON 看作一种数据交换格式,是因为“交换”往往意味着两个或多个实体之间的相互交流。
然而,不是所有的系统都支持使用 JSON 来交换数据。数据交换格式有很多,如前面提到 XML(extensible markup language, 可扩展性标记语言), 可能早在 JSON 被发明前就已经在应用了。毕竟现实世界不会像例子中的海岛世界那么简单。有许多系统可以并还在使用像 XML 这样的格式,或是用表格和分隔符来表示数据的格式,如逗号分隔值( CSV )。现实中的每个“海岛”所选择的数据交换格式,也通常会和数据格式与“海岛”的风俗、语言、建筑结构等因素间的联系相挂钩。
示例中的海岛世界里,每一个海岛都有它自己的语言。而海鸥所传送的报告上的数据所用的格式,是一种与语言无关的格式。这使得每个岛只需要雇用一个解释贸易报告的翻译即可。JSON 也一样,只不过数据不是通过海鸥传送的,而是通过网络中的 0 和 1这样的信号传送。翻译自然也不是人, 而是系统的一个解析器,用于将数据转换为系统可以读取的形式。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?