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

c list轉json 嵌套

吉茹定2年前9瀏覽0評論

在C語言中,List(鏈表)是一種常見的數據結構。而JSON(JavaScript Object Notation)則是一種常用的數據交換格式。在實際開發中,經常需要將List轉化為JSON格式,并且在JSON中嵌套其他數據。本文將介紹如何在C語言中將List轉化為嵌套的JSON格式。

首先,我們需要使用第三方庫cJSON來處理JSON格式。可以在官方網站https://github.com/DaveGamble/cJSON上下載并安裝該庫。接著,我們需要定義一個鏈表結構體來存儲數據,如下:

typedef struct node
{
char* name;
char* gender;
int age;
struct node* next;
} Node;
Node* head = NULL;

上述結構體中,我們定義了人物的姓名、性別和年齡三個屬性,并將它們存儲在一個鏈表中。接下來,我們需要將該鏈表結構轉化為JSON數據格式。代碼如下:

void listToJson(Node* head)
{
cJSON* json = cJSON_CreateObject();
cJSON* list = cJSON_CreateArray();
Node* p = head;
while(p)
{
cJSON* item = cJSON_CreateObject();
cJSON_AddStringToObject(item, "name", p->name);
cJSON_AddStringToObject(item, "gender", p->gender);
cJSON_AddNumberToObject(item, "age", p->age);
cJSON_AddItemToArray(list, item);
p = p->next;
}
cJSON_AddItemToObject(json, "people", list);
char* jsonString = cJSON_Print(json);
printf("%s", jsonString);
cJSON_Delete(json);
}

在上述代碼中,我們使用cJSON提供的函數逐個將鏈表中的數據添加到JSON對象中,并將整個鏈表數組添加到總的JSON對象中。最后,我們將JSON對象轉化為字符串并打印出來。可以看到,JSON格式的輸出結果如下:

{
"people": [
{
"name": "John",
"gender": "Male",
"age": 24
},
{
"name": "Lucy",
"gender": "Female",
"age": 22
}
]
}

如上所示,我們成功地將鏈表轉化為了嵌套的JSON格式。在實際開發中,我們可以根據需要進一步添加或修改JSON中的數據。