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

c 讀取json里的數組元素

阮建安1年前7瀏覽0評論

C語言讀取JSON里的數組元素

#include <stdio.h>
#include <jansson.h>
int main()
{
char *json_string = "[1,2,3,4,5]";
json_t *root;
json_error_t error;
root = json_loads(json_string, 0, &error);
if(!root)
{
fprintf(stderr, "error: on line %d: %s\n", error.line, error.text);
return 1;
}
int array_size = json_array_size(root);
printf("Array size is %d\n", array_size);
int i;
for(i = 0; i < array_size; i++)
{
json_t *element = json_array_get(root, i);
int value = json_integer_value(element);
printf("Element %d: %d\n", i, value);
}
json_decref(root);
return 0;
}

在這個例子里,我們通過jansson庫來讀取JSON數組里的元素。我們將一個JSON數組串放到了json_string里,將它載入root變量。

我們首先檢查root變量是否載入成功,如果沒有載入成功,我們將錯誤信息輸出到stderr,并返回1。

我們使用json_array_size函數來獲得序列的大小,并輸出它到控制臺。

int array_size = json_array_size(root);
printf("Array size is %d\n", array_size);

然后我們使用for循環和json_array_get函數依次讀取數組里的元素。

int i;
for(i = 0; i < array_size; i++)
{
json_t *element = json_array_get(root, i);
int value = json_integer_value(element);
printf("Element %d: %d\n", i, value);
}

我們使用json_integer_value函數將JSON元素轉化為整數并輸出到控制臺。

最后,我們使用json_decref函數釋放root變量。