Linux-C cJSON库的使用、编译为cJSON动态库
一、简述
记--再linux平台下编译cJSON并简单的使用。
cJSONFiles.zip:链接: https://pan.baidu.com/s/16JkSONzRy2ZzAvjUXcoD5Q 提取码: 2cvh
cJSON-master.zip:链接: https://pan.baidu.com/s/17UzsuOh2iDiQgf099R0iYw 提取码: 2nsh
编译好的库文件:链接: https://pan.baidu.com/s/1jFhRZ8RDpMftlMKZU5M8_g 提取码: s7ib
二、源码下载
官网:cJSON download | SourceForge.net
gitgub:https://github.com/DaveGamble/cJSON
三、使用例子1
1、从cJSON download | SourceForge.net下载的源码
2、解压,进入cJSON文件夹,将其中的cJSON.c,cJSON.h,test.c拷贝到Ubuntu下测试
3、编译例子并运行
三、使用例子2
1、从https://github.com/DaveGamble/cJSON下载的源码
2、解压、将所有文件拷贝到Ubuntu,编译生成库文件
测试代码:json.c文件
#include <stdio.h>
#include "cJSON.h"
int main(int argc, char* argv[])
{
char buf[1024] = {" {\"date\":\"20181128\"} "};//要解析的json数据
cJSON * root = cJSON_Parse(buf);//将字符串格式的json数据转化为JSON对象格式
if(root == NULL)
{
printf("parse error\n");
return -1;
}
cJSON *value = cJSON_GetObjectItem(root, "date");//根据键"date"获取其对应的值
if(value == NULL)
{
printf("getvalue error\n");
return -1;
}
char *data = cJSON_Print(value);//将获取值转化为字符串格式
if(data == NULL)
{
printf("printf error\n");
return -1;
}
printf("data=%s\n", data);//打印获取到的json数据
return 0;
}
附:直接使用.c文件编译