欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c 多個list轉json對象

阮建安2年前9瀏覽0評論

c語言是目前應用廣泛的編程語言之一,其功能強大,靈活性高,可適用于各種不同的應用領域。在c語言中,我們經常會使用到list等數據結構,而將多個list轉為json對象是一項常見的操作。下面我們將介紹如何使用c語言實現多個list轉json對象。

#include#include#include#include#define MAX_LEN 1024
typedef struct 
{
int id;
char name[20];
}Person;
typedef struct _ListNode
{
Person data;
struct _ListNode * next;
}ListNode, *ListPtr;
ListPtr CreatePersonList()
{
//創建一個Person類型的鏈表
}
cJSON * ConvertListToJson(ListPtr list)
{
cJSON * root = cJSON_CreateArray();
ListPtr ptr = list;
while (ptr)
{
cJSON * item = cJSON_CreateObject();
cJSON_AddNumberToObject(item, "id", ptr->data.id);
cJSON_AddStringToObject(item, "name", ptr->data.name);
cJSON_AddItemToArray(root, item);
ptr = ptr->next;
}
return root;
}
int main()
{
ListPtr list1 = CreatePersonList();
ListPtr list2 = CreatePersonList();
cJSON * root = cJSON_CreateObject();
cJSON_AddItemToObject(root, "list1", ConvertListToJson(list1));
cJSON_AddItemToObject(root, "list2", ConvertListToJson(list2));
char * jStr = cJSON_Print(root);
printf("%s\n", jStr);
cJSON_Delete(root);
free(jStr);
return 0;
}

上面的代碼實現了兩個Person類型的鏈表轉為json對象。首先創建了一個Person類型的鏈表,并通過CreatePersonList函數創建鏈表,具體實現可參照鏈表的創建與遍歷。然后通過ConvertListToJson函數將鏈表轉為json對象。其中,cJSON_CreateObject函數用來創建json對象,cJSON_AddItemToObject函數用來添加對象,cJSON_AddNumberToObject和cJSON_AddStringToObject函數用來添加相應類型的數據。最后,使用cJSON_Print函數將json對象轉為字符串輸出。