色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c 訪問json對象數組元素

榮姿康2年前9瀏覽0評論

在C語言中,訪問JSON對象數組的元素是一種常見的操作。下面我們簡單介紹一下如何通過C語言訪問JSON對象數組元素。

// 引入相應的頭文件
#include <stdio.h>
#include <string.h>
#include <jansson.h>
int main()
{
// 初始化JSON數據
char *jsonstr = "[{\"name\":\"Peter\", \"age\":20}, {\"name\":\"John\", \"age\":25},{\"name\":\"Marry\", \"age\":30}]";
// 解析JSON數據
json_t *root;
json_error_t error;
root = json_loads(jsonstr, 0, &error);
// 獲取數組長度
int array_length = json_array_size(root);
// 遍歷數組元素
for(int i = 0; i < array_length; i++)
{
json_t *node = json_array_get(root, i);
json_t *name_node = json_object_get(node, "name");
json_t *age_node = json_object_get(node, "age");
const char *name = json_string_value(name_node);
int age = json_integer_value(age_node);
printf("name:%s age:%d\n", name, age);
}
// 釋放JSON對象內存
json_decref(root);
return 0;
}

以上代碼演示了如何通過Jansson解析JSON字符串,并遍歷數組元素,輸出每個元素的name和age屬性。

在代碼中,使用了Jansson第三方庫進行解析JSON字符以及訪問JSON對象數組元素的操作。在具體操作時,我們先使用json_loads函數將JSON字符串解析成json_t對象,然后使用json_array_size函數獲取數組元素個數,最后使用json_array_get和json_object_get函數獲取數組元素的name和age屬性。

需要注意的是,如果JSON數組中的元素類型不同,那么我們需要通過json_typeof函數進行判斷元素的類型。