JSON 格式
JSON 格式
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为了各种应用程序之间数据交换和通信的主流格式。它易于阅读和编写,并且易于机器解析和生成,常在Web开发中用于数据的格式化和传输。
目录
- JSON 基本语法
- JSON 数据类型
- cJSON 库
- cJSON 主要功能
- cJSON 主要API
- 解析和生成
- 访问和操作 JSON 对象
- 创建 JSON 对象
JSON 基本语法
对象 Object:由花括号 {} 包围的一组键值对。键是字符串,值可以是任意合法的JSON数据类型。
数组 Array:由方括号 [] 包围的一组值。值可以是任意合法的JSON数据类型。
JSON 数据类型
JSON支持以下几种数据类型:
- 对象
Object:键值对的集合,键必须是字符串,值可以是任何合法的JSON数据类型。 - 数组
Array:值的有序列表,可以包含任何合法的JSON数据类型。 - 字符串
String:由双引号""包围的字符序列。 - 数值
Number:整数或浮点数。 - 布尔值
Bool:true或false。 - 空值
NULL:表示空值,用NULL表示。
cJSON 库
cJSON 是一个轻量级的、开源的 C 语言库,用于解析、生成和处理 JSON 数据。
cJSON 主要功能
解析 JSON:将 JSON 格式的字符串解析为 C 语言的对象(如结构体、数组等)。
生成 JSON:将 C 语言的对象(如结构体、数组等)序列化为 JSON 格式的字符串。
操作 JSON 对象:提供了操作 JSON 对象(如添加、删除、修改节点等)的 API。
cJSON 主要API
解析和生成
cJSON_Parse:解析存储了 JSON 数据的字符串,返回一个JSON格式的对象指针。cJSON_Print:将 cJSON 对象转换为格式化的 JSON 字符串,返回一个格式化的字符串指针。
访问和操作 JSON 对象
cJSON_GetObjectItem:获取 JSON 对象中的项。cJSON_GetArrayItem:获取 JSON 数组中的对应元素。cJSON_GetArraySize:获取 JSON 数组中的元素数量。cJSON_IsString、cJSON_IsNumber、cJSON_IsArray、cJSON_IsObject等:判断 JSON 项的类型。cJSON_Delete:删除 JSON 对象,释放内存。
创建 JSON 对象
cJSON_CreateObject:创建一个 JSON 对象。cJSON_CreateArray:创建一个 JSON 数组。cJSON_AddItemToObject:向 JSON 对象添加键值对,可以是任何合法的JSON数据类型。cJSON_AddItemToArray:向 JSON 数组添加元素,可以是任何合法的JSON数据类型。