在C語言中,我們需要使用第三方庫來解析JSON數據,而常用的解析庫有cJSON、JSON-C等。其中,cJSON是一款輕量級的解析庫,具有簡單易用、功能強大的特點。
在循環讀取JSON數據時,我們可以借助cJSON庫提供的API函數來實現。具體步驟如下:
cJSON *root = cJSON_Parse(json_string); // 解析JSON字符串 if (root == NULL) { // 解析失敗 return; } int size = cJSON_GetArraySize(root); // 獲取JSON數組的長度 for (int i = 0; i< size; i++) { cJSON *item = cJSON_GetArrayItem(root, i); // 獲取數組中的元素 if (item == NULL) { // 獲取失敗 continue; } // 獲取元素中的各個字段值 cJSON *name = cJSON_GetObjectItem(item, "name"); cJSON *age = cJSON_GetObjectItem(item, "age"); cJSON *gender = cJSON_GetObjectItem(item, "gender"); // 對獲取到的值做處理 // ... // 釋放item的內存 cJSON_Delete(item); } // 釋放root的內存 cJSON_Delete(root);
通過上述代碼,我們可以輕松地循環讀取JSON數組中的每一個元素,并獲取其中指定的字段值。另外,需要注意的是,在使用完cJSON解析庫后,要及時釋放其分配的內存,避免內存泄漏。