在C語言中解析JSON字符串的過程需要用到第三方庫,在本文中我們介紹一款名叫cJSON的開源庫。
// 導入cJSON庫 #include "cJSON.h" // 示例JSON字符串 char* jsonString = "{\"name\":\"Tom\",\"age\":18,\"hobby\":[\"reading\",\"music\",\"running\"]}"; // 實例化cJSON對象 cJSON* cJSON_root = cJSON_Parse(jsonString); // 解析對象中的字段 char* name = cJSON_GetObjectItem(cJSON_root, "name")->valuestring; // 獲取字符串類型字段 int age = cJSON_GetObjectItem(cJSON_root, "age")->valueint; // 獲取數值類型字段 cJSON* hobby = cJSON_GetObjectItem(cJSON_root, "hobby"); // 獲取數組類型字段 // 遍歷數組 int hobbyArraySize = cJSON_GetArraySize(hobby); for (int i = 0; i< hobbyArraySize; i++) { char* hobbyItem = cJSON_GetArrayItem(hobby, i)->valuestring; }
在上述示例中,我們首先包括cJSON庫頭文件,然后創建一個JSON字符串,接著通過調用cJSON_Parse函數將JSON字符串轉化成cJSON對象。在獲取對象中的字段時,我們分別演示了獲取字符串和數值類型的字段的方法,以及遍歷數組的方法。