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

c json 序列化 list

錢諍諍2年前8瀏覽0評論

C 庫的 JSON 序列化功能在處理鏈表數(shù)據(jù)時非常有用。鏈表是典型的“一堆雜亂的值”,它們沒有固定的大小和固定的數(shù)量。使用 C 庫中的 JSON 序列化功能,可以將鏈表中的元素序列化為 JSON 數(shù)組。

// 定義鏈表節(jié)點結(jié)構(gòu)體
typedef struct node {
int data;
struct node *next;
} Node;
// 創(chuàng)建節(jié)點函數(shù)
Node* createNode(int data) {
Node *newNode = (Node*) malloc(sizeof(Node));
newNode->data = data;
newNode->next = NULL;
return newNode;
}
// 序列化鏈表函數(shù)
char* serializeList(Node *head) {
cJSON *root;
cJSON *array = cJSON_CreateArray();
Node *current = head;
while (current != NULL) {
cJSON *item = cJSON_CreateObject();
cJSON_AddNumberToObject(item, "data", current->data);
cJSON_AddItemToArray(array, item);
current = current->next;
}
root = cJSON_CreateObject();
cJSON_AddItemToObject(root, "list", array);
char *jsonString = cJSON_Print(root);
return jsonString;
}
int main() {
Node *head = createNode(1);
head->next = createNode(2);
head->next->next = createNode(3);
char *jsonString = serializeList(head);
printf("List JSON: %s\n", jsonString);
return 0;
}

在上面的代碼中,我們定義了一個鏈表節(jié)點結(jié)構(gòu)體和一個創(chuàng)建節(jié)點函數(shù)。然后定義了一個序列化鏈表函數(shù),在其中使用 C 庫中的 cJSON 函數(shù)將鏈表元素序列化為 JSON 數(shù)組。

在 main 函數(shù)中,我們創(chuàng)建了一個包含三個元素的鏈表,然后調(diào)用序列化鏈表函數(shù)。最后打印序列化結(jié)果。