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

c json 轉為list

錢良釵2年前7瀏覽0評論

在C語言中,有一個十分常用的數據結構——列表(List)。

而Json是現在通用的一種數據交換格式,也經常作為數據傳輸的載體。

將Json格式的數據轉為List,可以方便地進行增刪改查等操作。

下面是一個將Json轉為List的示例:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <jansson.h>
int main()
{
char *json_str = "{\"data\":[1,2,3,4,5]}";
char *data_str;
json_t *root;
json_t *data;
json_error_t error;
root = json_loads(json_str, 0, &error);   //將json字符串轉為json對象
data = json_object_get(root, "data");   //獲取data對象
data_str = json_dumps(data, JSON_ENCODE_ANY);   //將data對象轉為json字符串
printf("data_str: %s\n", data_str);
json_t *list = json_array();   //創建空的json數組
size_t index;
json_t *value;
json_array_foreach(data, index, value) {   //遍歷data數組
json_array_append_new(list, json_integer(json_integer_value(value)));   //將data數組中的每個值插入到空的json數組中
}
printf("list_len: %d\n", json_array_size(list));   //打印json數組的長度
for (int i = 0; i< json_array_size(list); i++) {   //遍歷json數組,并打印每一個元素
json_t *item = json_array_get(list, i);
printf("list[%d]: %d\n", i, json_integer_value(item));
}
json_decref(root);   //釋放json對象及其所有子對象
json_decref(list);
free(data_str);   //釋放json字符串的內存
return 0;
}

以上代碼演示了將Json中的data數組轉為List的過程,實現了將data數組中的每個元素插入到空的Json數組中的操作。

在實際使用中,可以根據需求進行修改。