JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它采用易于人阅读和机器解析的纯文本形式来表示结构化的数据。JSON基于ECMAScript(即JavaScript)的一个子集,但其语法和数据结构独立于任何特定的编程语言,因此被广泛应用于各种编程环境和平台之间进行数据交换。
JSON概念的关键特性包括:
- 文本格式:JSON以纯文本的形式展现,由字符组成,可轻松通过网络传输和在不同系统间共享。
- 键值对:JSON的基本结构是由键(key)和值(value)组成的键值对。键是字符串,用双引号包围;值可以是以下几种类型之一:
○ 布尔值(true 或 false)
○ 数字(整数或浮点数)
○ 字符串(用双引号包围)
○ null
○ 对象(键值对的集合,用花括号 {} 包围)
○ 数组(有序的值列表,用方括号 [] 包围) - 嵌套结构:JSON支持嵌套,即对象中可以包含其他对象或数组,数组中亦可包含对象、数组或其他基本类型值。
一个简单的JSON示例:
{
"name": "John Doe",
"age": 30,
"isEmployed": true,
"skills": ["JavaScript", "Python", "HTML"],
"address": {
"street": "123 Main St.",
"city": "Anytown",
"country": "USA"
}
}
JSON的应用场景非常广泛,以下是一些典型例子:
- 网络数据交换
● Web应用:前后端分离架构中,服务器端通过HTTP响应将数据以JSON格式发送给客户端(如浏览器),客户端的JavaScript代码可以解析JSON并动态更新网页内容。例如,从服务器获取用户信息、商品列表、新闻文章等。
● AJAX异步请求:浏览器使用AJAX技术发起异步请求,服务器返回JSON数据,无需刷新整个页面即可实现局部内容的动态加载和更新。
● RESTful API:JSON是现代API设计的标准数据格式之一,用于规定请求参数和响应数据结构。API使用者通过发送JSON请求到服务器,并接收JSON格式的响应结果。
- 数据存储
● 数据库:某些NoSQL数据库(如MongoDB)直接支持JSON作为存储格式。即使在关系型数据库中,也常将JSON字符串化后存入特定字段,便于存储半结构化或松散结构的数据。
● 本地存储:浏览器提供的localStorage或IndexedDB等API允许以JSON格式存储用户数据、应用设置等,以便离线访问或持久化状态。
- 配置文件
● 应用程序配置:软件开发中,JSON常用于编写配置文件,因其清晰的结构和易读性,便于开发者管理应用程序的各项设置和参数。
- RPC(Remote Procedure Call)远程调用
● 跨服务通信:在微服务架构中,JSON常用作RPC调用的数据交换格式,使得不同服务间能以统一、标准的方式传递复杂数据结构。
- 移动应用
● 原生/混合移动应用:通过HTTP请求从服务器获取JSON数据,用于填充移动端界面,如新闻阅读、社交媒体、电商应用等。
- 企业间合作接口