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

c list 變json

老白2年前7瀏覽0評論

在 C 語言中,使用 list (鏈表)來存儲和組織數據是一種常見的操作。但是,在一些情況下需要將鏈表的數據轉換成 JSON 格式,以便進一步處理或傳輸數據。下面我們將介紹在 C 語言中如何將鏈表轉換成 JSON。

#include#include#include#include#include "cJSON.h"
// 定義鏈表節點結構體
typedef struct Node {
int data;
struct Node* next;
} Node;
// 創建鏈表函數
Node* createList() {
Node* head = NULL;
Node* tail = NULL;
for (int i = 1; i<= 10; i++) {
Node* node = (Node*)malloc(sizeof(Node));
node->data = i;
node->next = NULL;
if (head == NULL) {
head = node;
tail = node;
} else {
tail->next = node;
tail = node;
}
}
return head;
}
// 將鏈表轉換成 cJSON 對象函數
cJSON* listToJson(Node* head) {
cJSON* json = cJSON_CreateArray();
Node* current = head;
while (current != NULL) {
cJSON* item = cJSON_CreateObject();
cJSON_AddNumberToObject(item, "data", current->data);
cJSON_AddItemToArray(json, item);
current = current->next;
}
return json;
}
int main() {
Node* head = createList();
cJSON* json = listToJson(head);
char* jsonStr = cJSON_Print(json);
printf("List to JSON:\n%s\n", jsonStr);
cJSON_Delete(json);
free(jsonStr);
return 0;
}

在代碼中,我們使用了開源庫 cJSON 來實現將鏈表轉換成 JSON 的操作。首先,我們定義了鏈表節點的結構體,并編寫了一個創建鏈表的函數 createList。接著,我們編寫了一個將鏈表轉換成 cJSON 對象的函數 listToJson,該函數將鏈表節點中的數值取出,轉換成 JSON 的格式,最終返回一個 cJSON 對象。

在主函數中,我們首先調用 createList 函數創建一個含有 10 個節點的鏈表,然后調用 listToJson 函數將這個鏈表轉換成 JSON 對象。最后,我們使用 cJSON_Print 函數將這個 JSON 對象轉換成字符串,并輸出到控制臺上。

總之,通過使用 cJSON 庫,我們可以很方便地將鏈表轉換成 JSON 格式,從而更加靈活地處理和傳輸數據。