C語言是一門強大的編程語言,因為它提供了很多方便的數據結構和算法,可以讓開發者輕松地操作復雜的數據。在處理JSON數據時,我們通常會使用C語言中的循環結構來遍歷JSON數組。下面,我們將介紹C語言循環獲取JSON數組的基礎知識和技巧。
#include<stdio.h> #include<jansson.h> int main() { char *json_str = "[{\"name\":\"張三\",\"age\":18,\"gender\":\"男\"},{\"name\":\"李四\",\"age\":20,\"gender\":\"女\"},{\"name\":\"王五\",\"age\":22,\"gender\":\"男\"}]"; json_t *root; json_error_t error; root = json_loads(json_str, 0, &error); if(!root){ fprintf(stderr, "error: on line %d: %s\n", error.line, error.text); return 1; } size_t arraylen = json_array_size(root); for(size_t i = 0; i < arraylen; i++){ json_t *elem = json_array_get(root, i); json_t *name = json_object_get(elem, "name"); json_t *age = json_object_get(elem, "age"); json_t *gender = json_object_get(elem, "gender"); printf("姓名:%s 年齡:%ld 性別:%s\n", json_string_value(name), json_integer_value(age), json_string_value(gender)); } json_decref(root); return 0; }
在上面的代碼中,我們首先定義了一個JSON字符串,它表示了一個包含三個人信息的JSON數組,每個人都有姓名、年齡和性別三個屬性。然后,我們使用json_loads()函數將字符串解析成一個JSON對象,如果解析失敗,則會輸出錯誤信息并退出程序。接下來,我們使用json_array_size()函數獲取數組長度,并使用json_array_get()函數獲取每個元素,然后使用json_object_get()函數獲取元素中的每個屬性。最后,我們使用json_string_value()和json_integer_value()函數獲取屬性值,并輸出到控制臺上。
總的來說,C語言循環獲取JSON數組的過程并不復雜,只需要使用一些常見的JSON處理函數,就可以輕松地完成任務。當我們掌握這些技巧后,可以方便地處理各種復雜的JSON數據,為我們的開發工作提供了更多的便利和效率。