C語言中解析標準JSON可以使用第三方庫,比如cJSON,該庫是一個輕量級的JSON解析器,可以將JSON數據轉換成C語言中的數據類型,同時也可以將C語言中的數據類型轉換成JSON數據。接下來我們通過示例代碼來介紹cJSON的基本使用方法。
// 創建JSON對象 cJSON *root = cJSON_CreateObject(); // 添加JSON屬性 cJSON_AddItemToObject(root, "name", cJSON_CreateString("Tom")); cJSON_AddItemToObject(root, "age", cJSON_CreateNumber(25)); // 將JSON對象轉換為字符串 char *json_str = cJSON_Print(root); // 輸出JSON字符串 printf("JSON String: %s\n", json_str); // 將JSON字符串轉換為JSON對象 cJSON *json_obj = cJSON_Parse(json_str); // 獲取JSON屬性值 const char *name = cJSON_GetObjectItem(json_obj, "name")->valuestring; int age = cJSON_GetObjectItem(json_obj, "age")->valueint; // 輸出JSON屬性值 printf("Name: %s\n", name); printf("Age: %d\n", age); // 釋放JSON對象 cJSON_Delete(root); cJSON_Delete(json_obj);
在示例代碼中,我們首先通過cJSON_CreateObject函數創建了一個JSON對象root,然后通過cJSON_AddItemToObject函數向JSON對象中添加了兩個屬性name和age。接著使用cJSON_Print函數將JSON對象轉換為字符串并輸出。然后再使用cJSON_Parse函數將JSON字符串轉換為JSON對象,通過cJSON_GetObjectItem函數獲取JSON對象中的屬性值并輸出,最后通過cJSON_Delete函數釋放JSON對象。
總之,使用cJSON解析標準JSON數據十分方便,只需要包含頭文件cJSON.h,即可使用cJSON提供的各種函數來操作JSON數據,大大節省了開發工作量。