cjson转char*(解析位姿)
cJSON
Ultralightweight JSON parser in ANSI C
项目地址:https://gitcode.com/gh_mirrors/cj/cJSON
免费下载资源
·
本文实现c类型->cjson, cjson->c类型,功能为解析位姿
//#include <stdio.h>
//#include <stdlib.h>
//#include "cJSON.h"
//int main (int argc, const char * argv[]) {
// //create a data
// cJSON *root,*pose;
// root=cJSON_CreateObject();
// //pose x=1,y=2,yaw=30
// cJSON_AddItemToObject(root, "Pose", pose=cJSON_CreateObject());
// cJSON_AddNumberToObject(pose,"x",1);
// cJSON_AddNumberToObject(pose,"y",2);
// cJSON_AddNumberToObject(pose,"yaw",30);
// char *out;
// out=cJSON_Print(root); cJSON_Delete(root); printf("%s\n",out); free(out);
// return 0;
//}
#include <stdio.h>
#include <stdlib.h>
#include "cJSON.h"
int main (int argc, const char * argv[]) {
//create a data
cJSON *pose;
pose=cJSON_CreateObject();
//pose x=1,y=2,yaw=30
cJSON_AddNumberToObject(pose,"x",1.0);
cJSON_AddNumberToObject(pose,"y",2.0);
cJSON_AddNumberToObject(pose,"yaw",30.0);
char *out;
out=cJSON_Print(pose);
//get double using item_x->valuedouble
cJSON *item_x = cJSON_GetObjectItem(pose,"x"); //获取这个对象成员
double pose_x=item_x->valuedouble;
printf("item_x :%lf\n",pose_x);
cJSON_Delete(pose); printf("%s\n",out); free(out);
//char to cJson using cJSON_Parse
char * a="{\"firstName\":\"Brett\"}";
cJSON*root=cJSON_Parse(a);
cJSON *item_string = cJSON_GetObjectItem(root,"firstName"); //获取这个对象成员
printf("item_x :%s\n",item_string->valuestring);
return 0;
}
GitHub 加速计划 / cj / cJSON
10.44 K
3.16 K
下载
Ultralightweight JSON parser in ANSI C
最近提交(Master分支:1 个月前 )
424ce4ce
This reverts commit 5b502cdbfb21fbe5f6cf9ffbd2b96e4281a741e6.
Related to #860
2 个月前
32497300 - 4 个月前
更多推荐
已为社区贡献8条内容
所有评论(0)