在C語言中,我們可以使用cJSON庫來對JSON數據進行解析、生成和處理。當我們處理JSON數組時,我們有一個很常見的需求,就是將一個JSON數組轉換為多個JSON對象數組。
下面是使用cJSON庫實現這個需求的示例代碼:
cJSON *root = cJSON_Parse(json_str); // 解析JSON字符串為cJSON對象 cJSON *array = cJSON_GetObjectItem(root, "data"); // 獲取JSON數組對象 // 遍歷JSON數組,將每個元素轉換為JSON對象并加入對象數組 cJSON *obj_array[cJSON_GetArraySize(array)]; int i = 0; cJSON_ArrayForEach(obj, array) { cJSON *obj_copy = cJSON_Duplicate(obj, true); // 復制JSON對象 obj_array[i++] = obj_copy; } // 釋放cJSON對象 cJSON_Delete(root);
首先,我們需要解析JSON字符串,獲取JSON數組對象。然后,我們遍歷JSON數組,將每個元素復制為一個新的JSON對象,并加入對象數組中。最后,我們需要及時釋放cJSON對象,避免內存泄漏。
以上就是將一個JSON數組轉換為多個JSON對象數組的示例代碼,適用于在C語言中使用cJSON庫進行JSON數據處理的場景。