C語言的json_array是一個非常常用的數據結構,在處理JSON數據時非常方便。json_array就是一個C數組,存儲著一組JSON對象,可以通過下標來訪問其中的每一個JSON對象。
#include <stdio.h> #include <jansson.h> int main() { json_t *arr = json_array(); //創建空的json_array json_t *obj1 = json_object(); //創建json_object json_object_set_new(obj1, "name", json_string("Tom")); //向json_object中添加屬性 json_object_set_new(obj1, "age", json_integer(18)); json_array_append_new(arr, obj1); //將json_object添加到json_array中 //訪問json_array中的元素 json_t *element1 = json_array_get(arr, 0); json_t *name = json_object_get(element1, "name"); json_t *age = json_object_get(element1, "age"); printf("%s: %d\n", json_string_value(name), json_integer_value(age)); json_decref(arr); //釋放json_array return 0; }
上述代碼創建了一個空的json_array,然后創建了一個json_object,并向其中添加了兩個屬性,然后將該json_object添加到json_array中。通過下標訪問json_array中的元素,再通過屬性名訪問json_object中的屬性值,最后輸出結果為:Tom: 18。
需要注意的是,使用json_array時,必須要逐個地釋放其中的JSON對象,否則會造成內存泄漏。