CJSON小實例

本文屬於個人記錄,僅夠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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章