在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數組中的操作。
在實際使用中,可以根據需求進行修改。
上一篇vue bind tap
下一篇python 運算字符串