在進行 JSON 數據處理時,將 JSON 轉換成 List 是一種常見的方式。在 C 語言中,我們可以使用 cJSON 庫來完成這個任務。
首先,我們需要安裝 cJSON 庫。可以從其官方網站下載源代碼,并將其編譯為靜態鏈接庫。
// 編譯 cJSON 庫 gcc -c cJSON.c ar rcs libcjson.a cJSON.o
接下來,我們編寫一個示例程序來演示如何將 JSON 轉換成 List。
#include <stdio.h> #include <cjson/cJSON.h> int main() { char* json_data = "{\"list\": [1, 2, 3]}"; cJSON* json = cJSON_Parse(json_data); // 解析 JSON cJSON* list = cJSON_GetObjectItem(json, "list"); // 獲取 List int size = cJSON_GetArraySize(list); // 獲取 List 大小 for (int i = 0; i < size; i++) { cJSON* item = cJSON_GetArrayItem(list, i); // 獲取 List 中的元素 int value = cJSON_GetNumberValue(item); // 獲取元素的數值 printf("%d ", value); } printf("\n"); cJSON_Delete(json); // 釋放內存 return 0; }
在這個示例程序中,我們首先定義了一個 JSON 數據,并通過 cJSON_Parse 將其解析為一個 cJSON 對象。然后,我們使用 cJSON_GetObjectItem 獲取了 List,使用 cJSON_GetArraySize 獲取了 List 的大小,遍歷 List 中的元素并獲取每個元素的數值,最后釋放內存。
使用 cJSON 庫可以方便地將 JSON 轉換成各種數據結構,這對于進行數據處理非常有用。