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

c list 轉換json字符串

黃文隆2年前8瀏覽0評論

C語言中的列表(list)結構是一種動態分配內存的數據結構,可以根據需要在程序運行時添加、刪除元素。在需要將列表中的數據進行傳輸、存儲或展示時,可以將其轉換為JSON字符串。

#include <stdio.h>
#include <cJSON.h>
typedef struct node{
int value;
struct node *next;
} ListNode;
int main(){
// 初始化列表
ListNode *head = NULL;
ListNode *tail = NULL;
for(int i=1; i<=5; i++){
ListNode *node = (ListNode*)malloc(sizeof(ListNode));
node->value = i;
node->next = NULL;
if(head == NULL){
head = node;
tail = node;
}else{
tail->next = node;
tail = node;
}
}
// 轉換為JSON字符串
cJSON *root = cJSON_CreateArray();
ListNode *cur = head;
while(cur != NULL){
cJSON *item = cJSON_CreateObject();
cJSON_AddNumberToObject(item, "value", cur->value);
cJSON_AddItemToArray(root, item);
cur = cur->next;
}
char *jsonStr = cJSON_Print(root);
// 打印JSON字符串
printf("JSON string: %s\n", jsonStr);
// 釋放內存
cJSON_Delete(root);
free(jsonStr);
ListNode *temp;
while(head != NULL){
temp = head;
head = head->next;
free(temp);
}
return 0;
}

上述代碼中,首先定義了一個ListNode結構,用于保存列表中的元素。然后利用malloc動態申請內存,創建了一個包含5個元素的列表。接著使用cJSON庫中的函數將該列表轉換為JSON數組,在每個元素中添加value屬性和對應的值。最后將JSON對象打印出來,并釋放相關內存。