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

c 多個(gè)對(duì)象與json

在C語(yǔ)言中,我們可以使用結(jié)構(gòu)體來(lái)表示一個(gè)對(duì)象,而如果有多個(gè)對(duì)象需要處理的話,可以使用數(shù)組或鏈表等數(shù)據(jù)結(jié)構(gòu),下面以結(jié)構(gòu)體數(shù)組為例:

typedef struct {
int id;
char name[20];
int age;
} Person;
int main() {
// 初始化4個(gè)Person對(duì)象
Person persons[4] = {
{1, "張三", 20},
{2, "李四", 25},
{3, "王五", 30},
{4, "趙六", 35}
};
// 把對(duì)象轉(zhuǎn)成JSON格式的字符串
cJSON *json_array = cJSON_CreateArray();
for (int i = 0; i< 4; i++) {
cJSON *json_person = cJSON_CreateObject();
cJSON_AddNumberToObject(json_person, "id", persons[i].id);
cJSON_AddStringToObject(json_person, "name", persons[i].name);
cJSON_AddNumberToObject(json_person, "age", persons[i].age);
cJSON_AddItemToArray(json_array, json_person);
}
char *json_str = cJSON_PrintUnformatted(json_array);
cJSON_Delete(json_array);
printf("%s\n", json_str);
// 把JSON格式的字符串轉(zhuǎn)成對(duì)象
cJSON *root = cJSON_Parse(json_str);
cJSON *json_person;
cJSON_ArrayForEach(json_person, root) {
int id = cJSON_GetObjectItem(json_person, "id")->valueint;
char *name = cJSON_GetObjectItem(json_person, "name")->valuestring;
int age = cJSON_GetObjectItem(json_person, "age")->valueint;
printf("%d %s %d\n", id, name, age);
}
// 釋放內(nèi)存
cJSON_Delete(root);
free(json_str);
return 0;
}

上面的代碼演示了如何把多個(gè)對(duì)象轉(zhuǎn)成一個(gè)JSON數(shù)組,并把JSON格式的字符串轉(zhuǎn)成多個(gè)對(duì)象。