在C語言中,常用的JSON解析庫之一是cJSON。cJSON是一個輕量級的JSON解析庫,能夠將JSON格式的字符串解析成cJSON對象。
有時,我們需要將cJSON對象轉化為list對象數組,以便在程序中進行處理。下面是一個簡單的示例代碼:
cJSON *root = cJSON_Parse(json_str); // 解析JSON字符串,生成cJSON對象 cJSON *array = cJSON_GetObjectItem(root, "data"); // 獲取JSON對象中的"data"數組 int list_length = cJSON_GetArraySize(array); // 獲取數組長度 list_t list = list_create(); // 創建list對象數組 for (int i=0; i在上述代碼中,我們首先解析了JSON字符串,然后通過cJSON_GetObjectItem函數獲取了JSON對象中的"data"數組。接著,我們通過cJSON_GetArraySize函數獲取數組長度,并使用list_create函數創建了一個list對象數組。
接下來,我們使用for循環遍歷數組中的每一個元素,并通過create_obj_from_json函數生成obj對象。最后,我們將obj對象添加到list對象數組中,最終得到了我們所需的list對象數組。
最后,我們需要釋放cJSON對象的內存,以免出現內存泄漏。