我們在C語言中常常需要操作JSON數組,而在某些情況下需要將數組轉換成List,使它易于操作或者方便使用。下面將會介紹如何將JSON數組轉換成List。
#include <stdio.h> #include <jansson.h> int main() { char *json_string = "[1, 2, 3, 4, 5]"; json_t *root = json_loads(json_string, 0, NULL); int size = json_array_size(root); int *list = (int *)malloc(size * sizeof(int)); int i; for (i = 0; i < size; i++) { json_t *item = json_array_get(root, i); int value = json_integer_value(item); list[i] = value; } json_decref(root); /* print the converted list */ for (i = 0; i < size; i++) { printf("%d\n", list[i]); } return 0; }
上面的代碼展示了如何將JSON數組轉換成List,它使用了jansson庫來操作JSON對象。我們首先加載JSON字符串,然后獲取JSON數組的大小。接著,我們為List分配內存,迭代JSON數組的每個元素并將它們轉換成整數類型并保存到List中。最后,我們釋放掉JSON對象的內存,打印出轉換后的List。
當然,本文中的代碼只是展示了轉換的基本操作,如果要應用到真正的項目中,還需要處理多種異常情況和錯誤情況,例如JSON解析錯誤,內存分配失敗以及數組越界等等。這些錯誤可能會導致應用程序意外退出或其他異常情況,需要根據具體情況加以處理。
上一篇python 數據中心
下一篇python 讀特定行