本文屬於個人記錄,僅夠cjson使用。
cjson創建
cJSON * genz = cJSON_CreateObject();
cJSON * usr = cJSON_CreateObject();
cJSON_AddStringToObject(usr,"name","jhy");
cJSON_AddStringToObject(usr,"passwd","123");
// 添加整數方式1
cJSON_AddNumberToObject(usr,"num",1); //加整數
cJSON_AddItemToObject(usr,"gen",genz); //加整數
// 添加整數方式2
cJSON_AddItemToObject(genz,"geeeb",cJSON_CreateNumber(12)); //加整數
char *out = cJSON_Print(usr);
rt_kprintf("%s\n",out);
生成的cjson打印內容如下:
{
"name": "fengxin",
"passwd": "123",
"num": 1,
"gen": {
"geeeb": 12
}
}
cjson解析
cJSON * getname,*ROOT;
ROOT = cJSON_Parse(out);
getname = cJSON_GetObjectItem(ROOT, "passwd");
printf("string:%s:\n", getname->string); //看一下cjson對象的結構體中這兩個成員的意思
printf("valuestring:%s\n", getname->valuestring);
printf("valueint:%d\n", getname->valueint);
getname = cJSON_GetObjectItem(ROOT, "num");
printf("INT1:%s\n", getname->valuestring);
printf("INT2:%d\n", getname->valueint);
cJSON_Delete(usr);
free(out);
獲取的cjson打印內容如下:
string:passwd:
valuestring:123
valueint:0
INT1:
INT2:1
詳細的可以參考https://blog.csdn.net/zsj1126/article/details/80933783