將JSON數據轉換成一個列表是一項非常常見的操作。在C語言編程中,我們通常使用cJSON庫來解析JSON。該庫支持將JSON數據轉換成C語言中的各種數據類型,其中包括數組(list)。下面我們就來看看如何將一個JSON數據轉換成一個list。
// 導入cJSON庫 #include "cJSON.h" // 定義JSON字符串 char *json_str = "{ \"list\": [\"value1\", \"value2\", \"value3\"]}"; // 解析JSON數據 cJSON *json_root = cJSON_Parse(json_str); // 獲取list對應的JSON數據 cJSON *list_json = cJSON_GetObjectItem(json_root, "list"); // 定義一個list const int list_size = cJSON_GetArraySize(list_json); char *list[list_size]; int i = 0; // 遍歷list中的所有元素 cJSON_ArrayForEach(json, list_json) { // 獲取list中的元素 char *value = cJSON_GetStringValue(json); list[i] = value; i++; }
通過上面的代碼,我們成功地將一個JSON數據轉換成了一個list。其中,我們首先使用cJSON_Parse()函數將JSON字符串解析成一個cJSON對象,然后使用cJSON_GetObjectItem()函數獲取JSON中對應的數組(list)數據。最后通過遍歷所有元素,將它們添加到我們自己定義的list中。
需要注意的是,由于C語言不支持動態數組,因此我們需要在定義數組之后為它分配內存空間。這里我們定義了一個具有固定大小的數組,因此它只能存儲給定大小的元素。
上一篇python 轉時間戳
下一篇c json判斷類型