cJSON的資料封裝

2021-10-06 19:13:31 字數 1395 閱讀 1466

一、示例程式如下   

/*cjson封裝:{} 物件, 陣列       包含,被包含的關係          */

cjson *obj = cjson_createobject();    

cjson *subobj = cjson_createobject();

cjson_additemtoobject(subobj, "factory", cjson_createstring("一汽大眾"));

cjson_additemtoobject(subobj, "last", cjson_createnumber(31));

cjson_additemtoobject(subobj, "price", cjson_createnumber(56));

cjson_additemtoobject(subobj, "sell ", cjson_createnumber(23));

cjson_additemtoobject(subobj, "other ", cjson_createnumber(989));

cjson *array = cjson_createarray();

cjson_additemtoarray(array, cjson_createnumber(123));

cjson_additemtoarray(array, cjson_createbool(1));

cjson_additemtoarray(array, cjson_createstring("hello, world"));

/*陣列中的物件*/

cjson *subsub = cjson_createobject();

cjson_additemtoobject(subsub, "梅赫西迪賓士", cjson_createstring("心所向,持以恆"));    

cjson_additemtoarray(array, subsub);    

cjson_additemtoobject(subobj, "other ", array);    

cjson_additemtoobject(obj, "賓士", subobj);

/*格式化資料*/

char *data = cjson_print(obj);

printf("\r\n%s\r\n", data);

file  *fp = fopen("car.json", "w");

fwrite(data, sizeof(char), strlen(data) + 1, fp);

fclose(fp);

二、編譯gcc cjson.c  test.c   -lm

三、執行結果如下

cJSON 使用記錄 封裝

由於網上大多都是cjson解析的,但是封裝的卻很少,所以這裡將我的封裝方法記錄下來。cjson是輕量級的庫,僅有乙個cjson.h和乙個cjson.cpp,使用時候直接匯入就行,倆字兒,方便!基本函式主要有 常用的打 cjson cjson createobject void void cjson ...

C JSON資料解析 jsoncpp的使用

由於工作中需要用到json資料,所以解析json資料就成了乙個非常重要的工作內容。其實用c 解析資料是很繁雜的任務,涉及到很多的資料處理和資料安全問題。好在網上提供了很多的json解析庫,其中不乏很優秀的,出於效率,還是使用這些第三方的庫比較好。我使用的是jsoncpp,這是乙個開源的c 的json...

cJSON對json資料的解析

目標 對下面這種結構的json資料解析 處理步驟 1.將json資料儲存在a.txt內 2.用fopen對資料檔案進行讀取 3.將讀取出的資料流寫入到乙個字串陣列中 4.用cjson parse將字串陣列轉換為json資料物件root 5.對root由外層向內層解析 如下 include inclu...