C語言中的List是一種非常常用的數據結構,它可以方便地對數據進行增刪改查操作。而在現代的Web開發(fā)中,JSON格式的數據已經成為了主流,因此我們需要將C List轉化成JSON字符串數組,以便于在Web應用中進行傳遞和展示。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <jansson.h> typedef struct ListNode { int data; struct ListNode *next; } ListNode; void addNode(ListNode **head, int data) { ListNode *newNode = (ListNode *) malloc(sizeof(ListNode)); newNode->data = data; newNode->next = NULL; if (*head == NULL) { *head = newNode; } else { ListNode *current = *head; while (current->next != NULL) { current = current->next; } current->next = newNode; } } json_t *listToJson(ListNode *head) { json_t *resultArray = json_array(); while (head != NULL) { json_t *jsonNode = json_integer(head->data); json_array_append(resultArray, jsonNode); head = head->next; } return resultArray; } int main() { ListNode *list = NULL; addNode(&list, 1); addNode(&list, 2); addNode(&list, 3); json_t *jsonArray = listToJson(list); char *jsonString = json_dumps(jsonArray, 0); printf("%s\n", jsonString); free(jsonString); json_decref(jsonArray); return 0; }
在這段代碼中,我們首先使用C語言實現了一個List,然后通過jansson庫中的json_t類型和相關函數,將其轉化成了JSON字符串數組。經過這樣的轉化,我們就可以將C List中的數據傳輸到Web應用中進行展示、分析和處理了。