C 語言是一門高效、快速、基礎給力的編程語言,而 JSON 數據格式則是一種輕量級的數據交互格式,逐漸成為各個編程語言之間進行數據交互的一種標準方式。那么在 C 語言中,如何讀取 JSON 數組格式的數據呢?
#include <stdio.h> #include <json-c/json.h> int main() { char *json_array = "[1, 2, 3, 4, 5]"; struct json_object *json_obj = json_tokener_parse(json_array); enum json_type type = json_object_get_type(json_obj); if (type == json_type_array) { int array_len = json_object_array_length(json_obj); printf("Array Length: %d\n", array_len); int i; for (i = 0; i < array_len; i++) { struct json_object *array_obj = json_object_array_get_idx(json_obj, i); printf("[%d]: %s\n", i, json_object_to_json_string(array_obj)); } } json_object_put(json_obj); return 0; }
上述代碼使用 json-c 庫中的 json_tokener_parse 函數將 JSON 數組格式的字符串解析成一個 json_object 對象。然后通過 json_object_get_type 函數判斷對象的類型是否為數組類型。如果是,則通過 json_object_array_length 函數獲取數組的長度。接著通過循環獲取數組中的每一個元素,使用 json_object_array_get_idx 函數獲取特定索引位置上的元素并轉換成字符串類型,最后打印出來。
需要注意的是,在使用完 json_object 對象后需要使用 json_object_put 函數釋放內存,避免內存泄漏。