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

c 中list轉為json對象

江奕云2年前8瀏覽0評論

C語言中的list數據結構是非常常用的,而JSON是一種輕量級的數據交換格式,常用于web應用程序。在實際開發中,我們需要將C語言中的list轉換成JSON對象,以方便在不同的平臺和系統之間交換數據。

#include <stdio.h>
#include <jansson.h>
#include <glib.h>
int main(int argc, char **argv) 
{
GList *list = NULL;
list = g_list_append(list, "apple");
list = g_list_append(list, "orange");
list = g_list_append(list, "banana");
json_t *json_array = json_array();
GList *it;
for (it = list; it; it = it->next) {
json_array_append_new(json_array, json_string(it->data));
}
char *json_text = json_dumps(json_array, JSON_INDENT(2));
printf("%s\n", json_text);
g_list_free(list);
json_decref(json_array);
free(json_text);
return 0;
}

在上面的代碼中,我們使用了GLib的list數據結構,它提供了非常方便的API供我們使用。我們首先定義一個空的list,然后使用g_list_append函數將apple、orange和banana三個字符串加入list中。

接下來,我們使用jansson庫中的json_array函數創建了一個空的JSON數組對象。然后,我們遍歷list中的每一個元素,并將它們轉換成JSON字符串,并使用json_array_append_new函數將這些JSON字符串添加到JSON數組中。

最后,我們使用json_dumps函數將JSON數組轉換成文本格式,并打印輸出。注意,json_dumps函數返回的文本需要使用free函數釋放。

這樣,我們就將C語言中的list數據結構成功轉換成了JSON對象,可以愉快地在不同平臺和系統之間交換數據了。