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

C 把list轉成json

錢良釵1年前8瀏覽0評論

在C語言中,將list轉換為JSON格式的字符串并不困難。我們只需要使用C語言中的JSON庫,例如CJSON,就可以快速地將我們的list轉換為JSON格式的字符串。以下是使用CJSON庫將list轉換為JSON格式的字符串的示例代碼。

#include#include "cJSON.h"
typedef struct {
int id;
char *name;
int age;
} Person;
int main() {
cJSON *root, *personArray, *personObject;
Person person1 = {1, "張三", 20};
Person person2 = {2, "李四", 22};
Person person3 = {3, "王五", 25};
cJSON_InitHooks(NULL);
root = cJSON_CreateObject();
personArray = cJSON_CreateArray();
personObject = cJSON_CreateObject();
if(personObject) {
cJSON_AddItemToObject(personObject, "id", cJSON_CreateNumber(person1.id));
cJSON_AddItemToObject(personObject, "name", cJSON_CreateString(person1.name));
cJSON_AddItemToObject(personObject, "age", cJSON_CreateNumber(person1.age));
cJSON_AddItemToArray(personArray, personObject);
personObject = cJSON_CreateObject();
cJSON_AddItemToObject(personObject, "id", cJSON_CreateNumber(person2.id));
cJSON_AddItemToObject(personObject, "name", cJSON_CreateString(person2.name));
cJSON_AddItemToObject(personObject, "age", cJSON_CreateNumber(person2.age));
cJSON_AddItemToArray(personArray, personObject);
personObject = cJSON_CreateObject();
cJSON_AddItemToObject(personObject, "id", cJSON_CreateNumber(person3.id));
cJSON_AddItemToObject(personObject, "name", cJSON_CreateString(person3.name));
cJSON_AddItemToObject(personObject, "age", cJSON_CreateNumber(person3.age));
cJSON_AddItemToArray(personArray, personObject);
}
cJSON_AddItemToObject(root, "persons", personArray);
char *jsonString = cJSON_Print(root);
printf("%s", jsonString);
cJSON_Delete(root);
free(jsonString);
return 0;
}

在這個示例中,我們創建了一個名為"persons"的JSON對象,它包含一個由三個人員信息組成的數組。使用cJSON庫創建JSON對象和數組非常方便。我們只需要使用它提供的函數創建對象,創建數組,將對象添加到數組中,將屬性添加到對象中。
最后使用將JSON對象轉換為JSON格式的字符串,并輸出到控制臺上。通過調用函數釋放已經不再需要的內存,避免內存泄漏。