前言
在Linux应用开发中,Linux设备和服务器通信时,两者之间数据的传输通常采用JSON数据格式来作为载体,便于两者之间的数据交互。当设备端接收到服务端下发的JSON数据,设备端需要对JSON格式的数据进行解析;当设备端需要将设备的各项状态数据参数上传到服务器时,则需要各项状态数据参数打包成Json格式的数据包。故引入Json-c库来完成Json格式数据的解析和Json格式数据打包。
-
下载Json-c源码
https://s3.amazonaws.com/json-c_releases/releases/index.html -
选择Json-c版本
-
解压到Ubuntu系统后,进入解压后的文件夹进行编译配置与安装。
(1)可配置Json-c生成后的文件保存路径
PS:如无特定路径需求,建议不配置此项,这将保持默认路径(/usr/lib)
./configure --prefix=指定Json-c编译后的文件保存路径
(2)可根据目标平台(x86平台,Arm平台)的不同,配置对应的交叉编译工具链。默认编译工具链为gcc
./configure CC=交叉编译器名称(已添加至环境变量)
PS:配置完成后,也可在生成的Makefile文件中,更改配置内容
(3)执行make进行编译
make
(4)执行make install完成库的安装,
(5)完成后可在配置的路径中找到生成的头文件和库文件
(4)配置库链接器
由于我们在编译配置时,选择了指定的json库安装路径,并没有安装到默认路径/usr/lib下,所以需要在ld库链接器中添加Json-c库的所在路径
vim /etc/ld.so.conf #在新的一行中加入库文件所在目录
- JSON库的使用
(1)如果是QT项目编译,在.pro项目文件中添加库路径和头文件路径
(2)如果是命令行编译:在编译选项中添加Json-c库的路径
gcc test.c -L