在使用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字符串。
上一篇python 爬蟲可視化
下一篇idea 不識別vue