欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c 集合轉(zhuǎn)json

錢浩然2年前7瀏覽0評論

在C語言中,有一種集合的數(shù)據(jù)結(jié)構(gòu)叫做鏈表,它是由若干節(jié)點組成的,每個節(jié)點包括一個存儲數(shù)據(jù)的變量和一個指向下一個節(jié)點的指針。鏈表廣泛應(yīng)用于數(shù)據(jù)處理中,因為它可以隨時插入或刪除節(jié)點,非常靈活方便。如果要將鏈表轉(zhuǎn)換為JSON格式的數(shù)據(jù),可以使用一個開源的C語言庫——cJSON。

/* 使用cJSON庫將鏈表轉(zhuǎn)換為JSON格式 */
#include#include#include "cJSON.h"
struct ListNode {
int val;
struct ListNode* next;
};
char* list2json(struct ListNode* head) {
// 創(chuàng)建cJSON對象
cJSON* root = cJSON_CreateArray();
cJSON* item = NULL;
// 遍歷鏈表并轉(zhuǎn)換為JSON格式
struct ListNode* p = head;
while (p) {
item = cJSON_CreateObject();
cJSON_AddNumberToObject(item, "val", p->val);
cJSON_AddItemToArray(root, item);
p = p->next;
}
// 將JSON格式的數(shù)據(jù)輸出為字符串
char* json_str = cJSON_Print(root);
// 釋放cJSON對象
cJSON_Delete(root);
return json_str;
}
int main() {
// 創(chuàng)建一個簡單的鏈表
struct ListNode *head, *p;
head = (struct ListNode*)malloc(sizeof(struct ListNode));
head->val = 1;
p = (struct ListNode*)malloc(sizeof(struct ListNode));
p->val = 2;
head->next = p;
p = (struct ListNode*)malloc(sizeof(struct ListNode));
p->val = 3;
head->next->next = p;
p->next = NULL;
// 將鏈表轉(zhuǎn)換為JSON格式
char* json_str = list2json(head);
// 輸出JSON格式的字符串
printf("%s\n", json_str);
// 釋放鏈表節(jié)點
p = head;
while (p) {
head = p->next;
free(p);
p = head;
}
// 釋放JSON格式的字符串
free(json_str);
return 0;
}

以上代碼是一個簡單的示例,在實際開發(fā)中可以根據(jù)需要調(diào)整。使用cJSON庫將鏈表轉(zhuǎn)換為JSON格式非常簡單,只需要創(chuàng)建cJSON對象、遍歷鏈表并轉(zhuǎn)換為JSON格式、將JSON格式的數(shù)據(jù)輸出為字符串即可。這里需要注意,在使用完cJSON對象后需要及時釋放它。