本文实现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 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐