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

c 鏈表 json

吉茹定1年前9瀏覽0評論

C語言中的鏈表是一種非常常見的數(shù)據(jù)結構,它可以實現(xiàn)高效的數(shù)據(jù)插入和刪除操作。而JSON則是一種輕量級的數(shù)據(jù)交換格式,它被廣泛應用于互聯(lián)網(wǎng)和移動應用程序中。

在實際的開發(fā)工作中,我們可能需要將鏈表結構的數(shù)據(jù)以JSON格式進行傳輸或者存儲。這時候,我們可以使用C語言中的JSON庫來實現(xiàn)。

#include <stdio.h>
#include <jansson.h>
typedef struct node{
int data;
struct node *next;
}Node;
int main(){
Node *head = NULL;
Node *tail = NULL;
//創(chuàng)建鏈表
for(int i=0;i<5;i++){
Node *new_node = (Node*)malloc(sizeof(Node));
new_node->data = i;
new_node->next = NULL;
if(head==NULL){
head = new_node;
tail = new_node;
}else{
tail->next = new_node;
tail = new_node;
}
}
//將鏈表轉(zhuǎn)化為JSON字符串
json_t *json = json_array();
Node *temp = head;
while(temp!=NULL){
json_t *j = json_integer(temp->data);
json_array_append(json,j);
temp = temp->next;
}
char *json_str = json_dumps(json,JSON_INDENT(4));
printf("%s\n",json_str);
//釋放內(nèi)存
temp = head;
while(temp!=NULL){
Node *del = temp;
temp = temp->next;
free(del);
}
free(json_str);
json_decref(json);
return 0;
}

在上述代碼中,我們使用了jansson庫中的json_array、json_integer和json_dumps函數(shù)來將鏈表轉(zhuǎn)化為JSON格式的字符串。最后,我們也要記得釋放內(nèi)存。