欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Ubuntu下配置cJSON库

时间:2023-06-25

0. 准备工作     github 官方地址是 https://github.com/DaveGamble/cJSON     安装 环境是 Ubuntu 20.04。需要先安装cmake。 apt  install cmake       1、具体操作如下  在linux上找个地方      git clone https://github.com/DaveGamble/cJSON.git     cd cJSON/     mkdir build     cd build/     cmake ..     make     make install     执行完上述命令后,     cJSON.h 头文件会安装在 /usr/local/include/cjson 目录下。     libcjson.so 库文件会安装在 /usr/local/lib 目录下。 2、配置下变量      还需要将/usr/local/lib目录添加到 /etc/ld.so.conf 文件中,      vi  /etc/ld.so.conf   然后添加      include /usr/local/lib      保存后,执行      /sbin/ldconfig     否则程序在运行时会报       error while loading shared libraries: libcjson.so.1: cannot open shared object file: No such file or directory 错误。      3. 程序编译测试      #include      #include      #include "cjson/cJSON.h"     int main(void)     {            char *json_data = NULL;         char *data = "{"love":["LOL","Go shopping"]}";         //从缓冲区中解析出JSON结构         cJSON * json= cJSON_Parse(data);               //将传入的JSON结构转化为字符串 并打印        json_data = cJSON_Print(json);        printf("data:%sn", json_data);                 json = cJSON_CreateObject();          cJSON_AddStringToObject(json, "name", "lilei");          cJSON_AddStringToObject(json, "sex", "man");          cJSON_AddNumberToObject(json, "age", 18);          cJSON_AddItemToObject(json,"love",array=cJSON_CreateArray());         cJSON_AddItemToArray(array,cJSON_CreateString("LOL"));         cJSON_AddItemToArray(array,cJSON_CreateString("NBA"));         cJSON_AddItemToArray(array,cJSON_CreateString("Girls"));         cJSON_AddNumberToObject(json,"score",61);         cJSON_AddStringToObject(json,"address","shanghai");         cJSON_AddItemToObject(json,"name",cJSON_CreateString("韩梅梅"));         cJSON_AddStringToObject(json, "sex", cJSON_CreateString("girl"));         // cJSON_AddNumberToObject(json,"age",cJSON_CreateNumber(17));         cJSON_AddNumberToObject(json,"age",17);         cJSON_AddItemToObject(json,"love",array=cJSON_CreateArray());         cJSON_AddItemToArray(array,cJSON_CreateString("BOOK"));         cJSON_AddItemToArray(array,cJSON_CreateString("Music"));         cJSON_AddItemToArray(array,cJSON_CreateString("Go shopping"));         cJSON_AddNumberToObject(json,"score",99);         cJSON_AddStringToObject(json,"address","beijing");                          cJSON_AddStringToObject(json, "name", "小红");          cJSON_AddStringToObject(json, "sex", "female");          cJSON_AddNumberToObject(json, "age", 18);          cJSON_AddItemToObject(json,"love",array = cJSON_CreateObject());          cJSON_AddItemToObject(array, "爱好1", cJSON_CreateString("LOL"));          cJSON_AddItemToObject(array, "爱好2", cJSON_CreateString("NBA"));          cJSON_AddStringToObject(array, "爱好3", cJSON_CreateString("Girls"));          cJSON_AddNumberToObject(json,"score",81);          cJSON_AddStringToObject(json,"address","hk");          json_data = cJSON_Print(json);          printf("n***************************n%sn", json_data);             //将JSON结构所占用的数据空间释放          free(json_data);          cJSON_Delete(json);          return 0;     }     

 

     编译  :   gcc -o testjson -g testJson.c -lcjson -lm      执行  :   ./testjson

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。