- cJSON下载
链接:https://pan.baidu.com/s/1CJShZevYLWDs4Q61P8PROA 提取码:nzr8
- 创建简单的JSON数据
{
“hello":"world"
}
cJSON *root;
char *out;
root=cJSON_CreateObject();
if(root != NULL)
{
cJSON_AddStringToObject(root,"hello","world");
out=cJSON_Print(root);
printf("%s\n",out);
cJSON_Delete(root);
if(out != NULL)
free(out);
}
- 创建JSON数组
{
"Data:[1,2,3,4,5,6,7,8,9,10]
}
cJSON *root;
cJSON *obj;
char *out;
int array[] = {1,2,3,4,5,6,7,8,9,10};
root = cJSON_CreateObject();
if(root != NULL)
{
obj = cJSON_CreateIntArray(array,10);
cJSON_AddItemToObject(root,"Data",obj);
out=cJSON_Print(root);
printf("%s\n",out);
cJSON_Delete(root);
if(out != NULL)
free(out);
}
- 创建JSON字符串数组
{
Data:["Mon","Tue","Wed","Thu","Fri","Sta","Sun"]
}
cJSON *root;
cJSON *obj;
char *out;
char *array[] = {"Mon","Tue","Wed","Thu","Fri","Sta","Sun"};
root = cJSON_CreateObject();
if(root != NULL)
{
obj = cJSON_CreateStringArray(array,7);
cJSON_AddItemToObject(root,"Data",obj);
out=cJSON_Print(root);
printf("%s\n",out);
cJSON_Delete(root);
if(out != NULL)
free(out);
}
- 解析简单的JSON数据
{
“hello":"world"
}
char msg[] = "{\"hello\":\"world\"}";
cJSON *json;
cJSON *item;
json=cJSON_Parse(msg); //获取整个大的句柄
item = cJSON_GetObjectItem(json,"hello"); //获取这个对象成员
printf("hello:%s\n",item->valuestring);
if(json != NULL)
cJSON_Delete(json);
- 解析JSON数组
{
"Data:[1,2,3,4,5,6,7,8,9,10]
}
char msg[] = "{\"Data\":[1,2,3,4,5,6,7,8,9,10]}";
cJSON *json;
cJSON *array;
cJSON *item;
int length;
int i;
json=cJSON_Parse(msg); //获取整个大的句柄
array = cJSON_GetObjectItem(json,"Data");
// item = cJSON_GetArrayItem(json,"Data"); //获取这个对象成员
length = cJSON_GetArraySize(array);
printf("length %d\n",length);
for(i=0; ivalueint);
}
if(json != NULL)
cJSON_Delete(json);
- 解析JSON字符串数组
{
Data:["Mon","Tue","Wed","Thu","Fri","Sta","Sun"]
}
char msg[] = "{\"Data\":[\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sta\",\"Sun\"]}";
cJSON *json;
cJSON *array;
cJSON *item;
int length;
int i;
json=cJSON_Parse(msg); //获取整个大的句柄
array = cJSON_GetObjectItem(json,"Data");
// item = cJSON_GetArrayItem(json,"Data"); //获取这个对象成员
length = cJSON_GetArraySize(array);
printf("length %d\n",length);
for(i=0; ivaluestring);
}
if(json != NULL)
cJSON_Delete(json);