【ESP32开发】解析JSON,这里用cJSON

大哥大姐,请问一下,【ESP32开发】解析JSON,这里用cJSON
最新回答
忘了就别再想起づ

2025-03-30 06:24:15

cJSON是什么?

cJSON是C语言领域中的一款超轻量级JSON解析库。它开源于GitHub,遵循MIT协议,对使用友好。

与Python的json库、Java的Gson、jackson、fastjson等解析器类似,cJSON同样能解析JSON数据。

cJSON的源码由一个头文件和一个源文件组成,极为简洁。

JSON的基本概念:

JSON对象是无序的键值对集合,以"{“开始,以”}"结束,允许嵌套使用。

1. 名称和值成对出现,名称与值之间使用":"分隔。

2. 键值对之间用","分隔。

3. 字符前后允许存在无意义的空白符。

4. 键值可为数组、数字、字符串、字面值(false、null、true,需小写)。

VSCode验证cJSON:

前提:VSCode已配置C/C++开发环境,插件及编译器设置完成。

克隆cJSON源码,用VSCode打开。仅需改动vscode的配置文件tasks.json,改动如下图所示。

配置后,从test.c直接编译,通常不会出现编译错误。

新增函数测试JSON解析,代码如下:

运行结果如下:

IDF中引入cJSON:

cJSON位于IDF的components\json\cJSON目录下。

cJSON常用方法概览:

1. 解析数据:验证JSON格式 > 解析数据 > 释放内存

2. 创建数据:创建JSON结构体 > 添加数据 > 释放内存

务必记得释放内存。

参考资料:

ESP32学习笔记(12)--JSON接口使用_esp32 cjson-CSDN博客

vscode运行cjson(自用)_vscode c.json-CSDN博客