C語言中,JSON是一種非常常用的數據格式。在處理JSON數據的時候,我們常常需要操作JSON數組。通過C語言中的JSON庫,我們可以輕松創建并操作JSON數組,進而快速地處理和分析JSON數據,實現我們所需要的功能。
JSON數組可以包含有多個值,每個值都有一個唯一的序號。我們可以通過序號來查找并獲取JSON數組中的值。在C語言中,我們可以使用JSON庫提供的函數來讀取并打印JSON數組的值。
#include <stdio.h> #include <stdlib.h> #include <jansson.h> int main() { const char *json_string = "{ \"name\":\"Tom\", \"age\":25, \"hobbies\":[\"swimming\", \"reading\", \"yoga\"] }"; json_error_t error; json_t *root = json_loads(json_string, 0, &error); if (!root) { fprintf(stderr, "json error on line %d: %s\n", error.line, error.text); return 1; } json_t *hobbies = json_object_get(root, "hobbies"); size_t array_size = json_array_size(hobbies); for (size_t i = 0; i < array_size; i++) { json_t *value = json_array_get(hobbies, i); const char *string_value = json_string_value(value); printf("hobby[%d]: %s\n", i, string_value); } json_decref(root); return 0; }
在上面的代碼中,我們定義了一個JSON字符串,并使用json_loads()函數將其加載為JSON對象。接著,我們使用json_object_get()函數獲取對象中的"hobbies"字段,并使用json_array_size()函數獲取"hobbies"字段中的元素數量。最后,我們通過json_array_get()函數來獲取每個元素的指針,并使用json_string_value()函數獲取元素的字符串值。
通過以上的方法,我們可以輕松輸出JSON數組中的所有值。在實際的開發中,我們可以根據需要修改代碼,從而實現各種不同的功能。