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

c json轉數組中

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

C語言中的JSON(JavaScript Object Notation)可以非常方便地將數據進行序列化和反序列化。在JSON中,數組是一種常見的數據類型,可以使用C語言中的JSON庫將JSON轉化為數組。

#include <stdio.h>
#include <stdlib.h>
#include <jansson.h>
int main()
{
char *json_string = "[1, 2, 3, 4, 5]";
json_error_t error;
json_t *json = json_loads(json_string, 0, &error);
if (!json)
{
fprintf(stderr, "Error loading JSON: %s\n", error.text);
exit(1);
}
else if (!json_is_array(json))
{
fprintf(stderr, "JSON is not an array\n");
exit(1);
}
int i, length = json_array_size(json);
int *arr = (int *)malloc(length * sizeof(int));
for (i = 0; i < length; i++)
{
json_t *item = json_array_get(json, i);
if (!json_is_integer(item))
{
fprintf(stderr, "JSON item at index %d is not an integer\n", i);
exit(1);
}
arr[i] = json_integer_value(item);
}
// 對數組進行操作
for (i = 0; i < length; i++)
{
printf("%d ", arr[i]);
}
free(arr);
json_decref(json);
return 0;
}

以上代碼使用了jansson庫將JSON轉為數組,首先用json_loads()函數將JSON字符串轉為json_t類型的變量,然后用json_is_array()函數檢查JSON變量是否為數組類型。接著使用json_array_size()函數獲取數組的長度,并按照順序遍歷數組,檢查每個元素的類型是否為整數。最后按需求對數組進行操作。