1.0 cJSON介绍
1.cJSON的介绍
cJSON是一个轻量级的JSON上下文处理的库,但其实在github上这个并不是一个库。它是以最简单的.c文件和.h文件提供出来的。我们一般不会将它作为库编译(有可能你会想编译为静态库),但是我们一般直接得到这个.c和.h文件之后就直接作为项目或工程中的一个小模块放入到代码文件夹里面了。若需要编译为库,则可以自己使用VC编译器或GNU的mingw编译器编译为静态库或动态库来使用。我们这里的总结仅仅将此库作为纯代码文件嵌入到工程中来使用。cJSON库的下载地址如下,若有需要请自取:
https://files.cnblogs.com/files/blogs/792763/cJSON-master.zip?t=1783233970&download=true
2.cJSON一般用在什么地方?
对于我的使用场景,我先前完成了一个嵌入式采集器的设备的开发。这个设备本质上是一个多通道的采集器,内部为Linux内核,加上了一些很简单的传感器的采集的函数。这些函数都是由C编写。我开发了一个守护进程,当设备开机都就会运行,我内部也封装了INI的配置文件。但传感器需要和云端的http服务器通信。我并没有使用gRPC,因为此在线传感器项目并不是很大型,要传输的参数也不多。就采用了HTTP的请求获取参数下发,已经状态上报。而在此过程中,我使用了libcurl作为本地嵌入式端处理http请求的接口。然后由于云端的后端返回的数据都是JSON格式,所以理所应当就使用了cJSON来处理服务端返回的字段了。整个过程中的网络依赖于SIM卡的4G网络。若大家有相同或类似的项目也可以使用上述类似的思路。总之,cJSON非常非常实用在一些轻量级的需要处理JSON串请求的场景。当然我们有更好的方案(Protocol+gRPC)的方案。这个我以后有介绍。

浙公网安备 33010602011771号