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

c 把list轉化成json字符串

謝彥文1年前7瀏覽0評論

在使用C語言開發Web應用程序時,我們通常需要將數據以JSON格式在服務器和客戶端之間進行傳輸。而將C語言中的List轉化為JSON字符串則是一個常用的操作。下面介紹一種簡單的方法實現該功能。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXLEN 1024
typedef struct node{
int data;
struct node *next;
}Node;
void insert(Node **head, int data){
Node *temp = (Node *)malloc(sizeof(Node));
temp->data = data;
temp->next = NULL;
if(*head == NULL){
*head = temp;
} else {
Node *current = *head;
while(current->next != NULL){
current = current->next;
}
current->next = temp;
}
}
char *list_to_json(Node *head){
char *result = (char *)malloc(sizeof(char) * MAXLEN);
memset(result, 0, MAXLEN);
strcat(result, "[");
Node *temp = head;
while(temp != NULL){
char *data = (char *)malloc(sizeof(char) * MAXLEN);
memset(data, 0, MAXLEN);
sprintf(data, "%d", temp->data);
strcat(result, data);
if(temp->next != NULL){
strcat(result, ",");
}
temp = temp->next;
}
strcat(result, "]");
return result;
}
int main(){
Node *head = NULL;
insert(&head, 1);
insert(&head, 2);
insert(&head, 3);
char *json_str = list_to_json(head);
printf("%s", json_str);
return 0;
}

上述代碼中,我們定義了一個基于鏈表實現的簡單數據結構Node,使用insert函數向鏈表中插入新元素,然后使用list_to_json函數將List轉換成JSON字符串。

list_to_json函數接受一個指向鏈表頭節點的指針,然后遍歷整個鏈表將其中的元素逐一拼接到JSON字符串中。注意到最后一個元素后面不能添加逗號。最后要返回拼接好的JSON字符串。