在C語言的開發中,我們經常會使用鏈表來存儲和操作數據。而在對鏈表進行數據交換或者是需要將鏈表的數據傳輸到其他程序或系統時,我們往往需要將鏈表數據轉換為JSON字符串數組,以方便處理和操作。因此,在本文中,我們將為大家介紹如何將C語言中的鏈表轉換為JSON字符串數組。
#include <stdio.h> #include <stdlib.h> #include <cJSON.h> //定義鏈表節點 typedef struct Node{ int data; struct Node* next; }Node; //創建鏈表 Node* createList(){ Node* head = (Node*)malloc(sizeof(Node)); head->next = NULL; for(int i=0; i<10; i++){ Node* node = (Node*)malloc(sizeof(Node)); node->data = i; node->next = head->next; head->next = node; } return head; } //鏈表轉JSON字符串數組 char* listToJson(Node* head){ cJSON* json = cJSON_CreateArray(); cJSON* item = NULL; Node* node = head->next; while(node){ item = cJSON_CreateNumber(node->data); cJSON_AddItemToArray(json, item); node = node->next; } char* jsonString = cJSON_Print(json); cJSON_Delete(json); return jsonString; } int main(){ Node* head = createList(); char* jsonString = listToJson(head); printf("%s\n", jsonString); //釋放內存 free(head); free(jsonString); return 0; }
首先我們需要定義一個鏈表節點,然后使用createList函數創建一個包含10個節點的鏈表。接著,我們使用cJSON_CreateArray()函數創建一個空的JSON數組對象,并使用cJSON_CreateNumber()函數將鏈表節點的數據添加到JSON數組中。最后,使用cJSON_Print()函數將JSON數組對象轉換為JSON字符串數組,最終輸出JSON字符串數組。