cJSON是一款輕量級的JSON解析庫,它可以輕松地使用C語言讀取、修改、生成和打印JSON格式的數據。在使用cJSON解析JSON字符串時,我們有時會需要獲取整個JSON對象,下面是用cJSON獲取整個JSON的代碼示例:
cJSON *root = NULL;
char *jsonStr = "{\"name\": \"小明\", \"age\": 18}";
root = cJSON_Parse(jsonStr); // 解析JSON字符串
if (root != NULL) {
printf("獲取整個JSON成功!\n");
// 獲取整個JSON
char *jsonData = cJSON_Print(root);
printf("%s\n", jsonData);
free(jsonData);
} else {
printf("解析JSON字符串失敗!\n");
}
在以上示例中,我們首先定義了一個指向cJSON對象的指針root,并給出了一個JSON格式的字符串jsonStr。
接著,我們使用cJSON_Parse()函數將JSON字符串解析成cJSON對象,并將其賦值給root指針。
判斷root指針是否為空,如果不為空,則說明解析成功。
最后,我們使用cJSON_Print()函數獲取整個JSON,并將其打印出來。由于cJSON_Print()函數會返回一個動態分配的字符數組,因此需要在使用完之后通過free()函數釋放內存。
總之,使用cJSON獲取整個JSON十分簡單,只需要使用cJSON_Parse()函數解析JSON字符串,然后再使用cJSON_Print()函數獲取整個JSON即可。