C List T to JSON是一個(gè)將C語(yǔ)言鏈表數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為JSON格式數(shù)據(jù)的工具。該工具主要用于將鏈表數(shù)據(jù)轉(zhuǎn)換成JSON格式的數(shù)據(jù),方便開發(fā)人員在不同的平臺(tái)上使用JSON數(shù)據(jù)。下面我們來(lái)了解一下該工具的使用方法。
#include <stdio.h> #include <stdlib.h> #include "LinkedListAPI.h" #include "toJSON.h" typedef struct data_t { int id; char *name; } Data; // Prototype Functions void deleteData(void *data); char *printData(void *toBePrinted); int main() { List *list = initializeList(printData, deleteData, compare); Data *d1 = malloc(sizeof(Data)); d1->id = 10; d1->name = strdup("John"); Data *d2 = malloc(sizeof(Data)); d2->id = 20; d2->name = strdup("Doe"); insertBack(list, d1); insertBack(list, d2); char *json = linkedListToJSON(list, dataToJSON); printf("JSON:\n%s\n", json); free(json); freeList(list); return 0; } void deleteData(void *data) { if (data != NULL) { Data *d = (Data *) data; free(d->name); free(d); } } char *printData(void *toBePrinted) { if (toBePrinted == NULL) { return NULL; } Data *d = (Data *) toBePrinted; char *str = malloc(sizeof(char) * 100); sprintf(str, "id: %d\nname: %s", d->id, d->name); return str; } char *dataToJSON(void *data) { if (data == NULL) { return NULL; } Data *d = (Data *)data; char *str = malloc(sizeof(char) * 100); sprintf(str, "{\n\"id\":%d,\n\"name\":\"%s\"\n}", d->id, d->name); return str; }
在上述代碼中,我們定義了一個(gè)數(shù)據(jù)結(jié)構(gòu)Data來(lái)存儲(chǔ)id和名稱。然后,我們使用C語(yǔ)言的鏈表數(shù)據(jù)結(jié)構(gòu)來(lái)存儲(chǔ)這些數(shù)據(jù)。接著,我們使用linkedListToJSON函數(shù)將鏈表結(jié)構(gòu)轉(zhuǎn)換為JSON數(shù)據(jù)。
C List T to JSON是一個(gè)方便的工具,可以讓開發(fā)人員輕松地將C語(yǔ)言中的鏈表數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為JSON格式的數(shù)據(jù)。使用該工具可以大大簡(jiǎn)化開發(fā)人員的工作,提高開發(fā)效率。