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

c 中l(wèi)ist的 json格式化

李中冰2年前8瀏覽0評論

C語言中的List數(shù)據(jù)結(jié)構(gòu)是一種非常常見的數(shù)據(jù)結(jié)構(gòu),它可以很方便地操作一系列元素,同時也可以很容易地被轉(zhuǎn)化成JSON格式,方便進(jìn)行網(wǎng)絡(luò)傳輸和存儲。

typedef struct Node
{
int data;
struct Node *next;
} Node;
typedef struct List
{
Node *head;
Node *tail;
int size;
} List;
List *listInit()
{
List *list = (List *)malloc(sizeof(List));
list->head = NULL;
list->tail = NULL;
list->size = 0;
return list;
}
void listAdd(List *list, int data)
{
Node *newNode = (Node *)malloc(sizeof(Node));
newNode->data = data;
newNode->next = NULL;
if (list->head == NULL)
{
list->head = newNode;
list->tail = newNode;
}
else
{
list->tail->next = newNode;
list->tail = newNode;
}
list->size++;
}
char *listToJson(List *list)
{
char *json = (char *)malloc(sizeof(char) * 1024);
memset(json, '\0', 1024);
strcat(json, "[");
Node *cur = list->head;
for (int i = 0; i< list->size; i++)
{
char str[10];
sprintf(str, "%d", cur->data);
strcat(json, str);
if (i< list->size - 1)
{
strcat(json, ",");
}
cur = cur->next;
}
strcat(json, "]");
return json;
}
int main()
{
List *list = listInit();
listAdd(list, 1);
listAdd(list, 2);
listAdd(list, 3);
char *json = listToJson(list);
printf("%s\n", json);
free(json);
return 0;
}

以上是一個簡單的List數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)化成JSON的例子。通過添加不同的元素,可以很方便地轉(zhuǎn)化成一個符合JSON格式要求的字符串,實現(xiàn)網(wǎng)絡(luò)傳輸或存儲的需求。