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

c 中list轉化為json字符串數組

夏志豪1年前8瀏覽0評論

在C語言中,有一種稱為List(鏈表)的數據結構,它能夠動態地添加和移除元素。當我們需要將這些元素轉化為JSON字符串數組的時候,可以使用以下代碼:

#include#include#includetypedef struct Person {
char* name;
int age;
struct Person* next;
} Person;
Person* createPerson(char* name, int age) {
Person* newPerson = (Person*)malloc(sizeof(Person));
newPerson->name = name;
newPerson->age = age;
newPerson->next = NULL;
return newPerson;
}
Person* addPersonToList(Person* head, char* name, int age) {
Person* newPerson = createPerson(name, age);
newPerson->next = head;
return newPerson;
}
cJSON* listToJsonArray(Person* head) {
cJSON* jsonArray = cJSON_CreateArray();
while (head) {
cJSON* personJson = cJSON_CreateObject();
cJSON_AddStringToObject(personJson, "name", head->name);
cJSON_AddNumberToObject(personJson, "age", head->age);
cJSON_AddItemToArray(jsonArray, personJson);
head = head->next;
}
return jsonArray;
}
int main() {
Person* head = NULL;
head = addPersonToList(head, "Alice", 20);
head = addPersonToList(head, "Bob", 25);
head = addPersonToList(head, "Carol", 30);
cJSON* jsonArray = listToJsonArray(head);
char* jsonString = cJSON_Print(jsonArray);
printf("%s\n", jsonString);
free(jsonString);
cJSON_Delete(jsonArray);
return 0;
}

首先,我們定義一個Person結構體,包含名字和年齡兩個屬性以及一個指向下一個Person的指針。然后,我們定義了一個createPerson函數用于創建新的Person對象,以及一個addPersonToList函數用于將Person對象添加到鏈表中。接著,我們定義了一個listToJsonArray函數用于將鏈表中所有的Person轉化為JSON字符串數組。

在listToJsonArray函數中,我們首先創建了一個空的JSON字符串數組。接著,我們使用一個while循環遍歷整個鏈表,對每一個Person對象創建一個新的JSON對象,并將其加入到JSON字符串數組中。最后,我們返回JSON字符串數組。

最后,在main函數中,我們創建了一個鏈表,將其轉化為JSON字符串數組,并打印輸出結果。注意,我們需要使用cJSON_Print函數將JSON字符串數組轉化為字符串,并在使用完畢后釋放內存。