在C語言中,使用第三方庫可以輕松地讀取和操作JSON數組。本文將介紹如何使用C語言讀取JSON數組。
#include <stdio.h> #include <jansson.h> int main() { char *json_string = "[1, 2, 3, 4, 5]"; json_t *array; size_t index; json_error_t error; /* 解析JSON字符串 */ array = json_loads(json_string, 0, &error); if(!array) { fprintf(stderr, "Failed to parse JSON: %s\n", error.text); return 1; } /* 遍歷JSON數組 */ for(index = 0; index < json_array_size(array); index++) { json_t *value = json_array_get(array, index); if(!json_is_number(value)) { fprintf(stderr, "Array element %d is not a number\n", (int)(index+1)); json_decref(array); return 1; } int num = json_integer_value(value); printf("%d ", num); } /* 釋放JSON對象 */ json_decref(array); printf("\n"); return 0; }
在上面的代碼中,我們使用了jansson庫來解析JSON字符串。json_loads()函數將JSON字符串解析為json_t類型的對象,并驗證其是否合法。然后,我們使用json_array_size()函數獲取JSON數組的大小,并使用json_array_get()函數遍歷JSON數組。注意,我們使用json_is_number()函數來判斷JSON元素是否為數字類型,并使用json_integer_value()函數獲取JSON數字的值。最后,我們使用json_decref()函數釋放json_t對象。