加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cJSON源码的使用说明

发布时间:2020-12-16 19:10:02 所属栏目:百科 来源:网络整理
导读:cJSON是通信方面一个兼容性比较好的一个格式,具体的相关的格式如下 [{ "name":"aaa","number":1}{ "name":"bbb","number":2}] 针对资源中的main函数来讲解一下使用cJSON源码的流程和相关的接口 /*组装数据包*/ cJSON * pJsonRoot = NULL;pJsonRoot = cJSON_

cJSON是通信方面一个兼容性比较好的一个格式,具体的相关的格式如下

[
{
 "name":"aaa","number":1
}
{
 "name":"bbb","number":2
}
] 


针对资源中的main函数来讲解一下使用cJSON源码的流程和相关的接口



/*组装数据包*/
cJSON * pJsonRoot = NULL;			
pJsonRoot = cJSON_CreateObject();
if(NULL == pJsonRoot)
{
	return 0;
}
cJSON_AddStringToObject(pJsonRoot,USERNAME,"zhengxianjing");
cJSON_AddStringToObject(pJsonRoot,SERCURITY_MODE,"OPEN");
cJSON_AddStringToObject(pJsonRoot,PASSWORD,"123456789");
char * p = cJSON_Print(pJsonRoot);
printf("%sn%dn",p,strlen(p));

其中cJSON_CreateObject创建一个cJSON的结构体,然后判断一下看是否成功。

然后在通过cJSON_AddStringToObject这个函数往这个结构体中添加字符串。和这个函数相关的还有

cJSON_AddNumberToObject()

cJSON_AddBoolToObject()

cJSON_AddFalseToObject()

......

然后通过cJSON_Print这个函数把这个结构体打到字符串中p中


/*解析之前组装好的数据包*/
cJSON * username = NULL;
cJSON * mode = NULL;
cJSON * password = NULL;
cJSON * root = NULL;					//parse
if((root = cJSON_Parse(p)) == NULL)
{
	return ;
}

username = cJSON_GetObjectItem(root,USERNAME);		//get string
if(NULL == username)
{
	return ;
}
mode = cJSON_GetObjectItem(root,SERCURITY_MODE);
if(NULL == mode)
{
	return ;
}
password = cJSON_GetObjectItem(root,PASSWORD);
if(NULL == password)
{
	return ;
}
printf("username = %snmode = %snpassword = %sn",
username->valuestring,mode->valuestring,password->valuestring);


通过cJSON_Parse()这个函数分析这个字符串数据包,编程cJSON这个结构体格式,类似于cJSON_Print()这个函数的想反作用

cJSON_GetObjectItem(root,USERNAME)通过这个函数从root中得到USERNAME对应的字符串,找不到返回NULL

找到以后再打印出来。

完事。



资源链接:http://download.csdn.net/detail/u011467384/8401309


??

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读