C語言中使用JSON格式經常用于數據傳輸和存儲,而列表是一種基本的數據結構,尤其是在前端開發和數據分析中經常使用,因此將C JSON轉化為List是很實用的功能。
C語言中經常使用第三方庫來進行JSON的操作,如cJSON庫,它具有開源、輕量級、跨平臺等優點,非常適合C語言的開發。
#include "cJSON.h" #include <stdio.h> #include <stdlib.h> int main() { char* json_data = "{\"list\":[{\"name\":\"Tom\",\"age\":18},{\"name\":\"Jerry\",\"age\":20}]}"; cJSON* root = cJSON_Parse(json_data); cJSON* list = cJSON_GetObjectItem(root, "list"); int list_size = cJSON_GetArraySize(list); printf("List size: %d\n", list_size); for (int i = 0; i< list_size; i++) { cJSON* item = cJSON_GetArrayItem(list, i); cJSON* name = cJSON_GetObjectItem(item, "name"); cJSON* age = cJSON_GetObjectItem(item, "age"); printf("Name: %s, Age: %d\n", name->valuestring, age->valueint); } cJSON_Delete(root); return 0; }
在上面的代碼中,我們首先定義了一個JSON格式的字符串,包含了一個名為“list”的列表,其內部包含了兩個成員“name”和“age”,分別代表姓名和年齡。接著調用了cJSON_Parse函數來將字符串解析為JSON對象,然后使用cJSON_GetObjectItem函數獲取了列表,并獲取該列表的大小。最后使用for循環遍歷列表中的每個元素,并逐一獲取各個成員。
使用cJSON庫可以很方便地實現C JSON轉化為List的功能。將JSON格式的數據轉化為列表可以使得后續的數據處理更加方便和高效。