在C語(yǔ)言中,如果想要將列表集合轉(zhuǎn)換成JSON字符串,需要使用第三方庫(kù)來(lái)輔助實(shí)現(xiàn)。常用的庫(kù)有cJSON和Jansson。以下是使用cJSON庫(kù)將列表集合轉(zhuǎn)換成JSON字符串的示例。
//引入cJSON頭文件 #include "cJSON.h" int main(){ //定義列表集合 List list = createList(); //向列表中添加元素 ... //將列表集合轉(zhuǎn)換成JSON字符串 cJSON *root = cJSON_CreateArray(); Node *current = list->head; while (current != NULL) { cJSON *json = cJSON_CreateObject(); cJSON_AddItemToObject(json, "name", cJSON_CreateString(current->name)); cJSON_AddItemToObject(json, "age", cJSON_CreateNumber(current->age)); cJSON_AddItemToArray(root, json); current = current->next; } char *json_str = cJSON_Print(root); printf("JSON string: %s", json_str); return 0; }
上述代碼中,我們首先定義了一個(gè)列表集合,并向其中添加了若干元素。接著,我們使用cJSON庫(kù)中的函數(shù)來(lái)創(chuàng)建一個(gè)JSON數(shù)組對(duì)象,并逐個(gè)將列表中的元素轉(zhuǎn)化成JSON對(duì)象,并添加到JSON數(shù)組當(dāng)中。最后,調(diào)用cJSON_Print函數(shù)將JSON數(shù)組轉(zhuǎn)換成字符串,并打印輸出。
需要注意的是,cJSON庫(kù)中還有很多其他函數(shù)可供使用,開(kāi)發(fā)者可以根據(jù)自己的需求來(lái)選擇使用哪些函數(shù)。