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

c 類轉json字符串數組對象數組對象

李中冰2年前8瀏覽0評論

在C語言中,我們經常需要將類或者結構體轉化為JSON格式的字符串或者數組對象。這個過程可以通過使用第三方庫,例如cJSON庫來實現。

首先,我們需要定義一個結構體,例如:

struct person {
char name[20];
int age;
char address[50];
};

其次,我們需要使用cJSON庫中的函數將其轉化為JSON格式的字符串,例如:

struct person p;
strcpy(p.name, "Tom");
p.age = 25;
strcpy(p.address, "New York");
cJSON *root = cJSON_CreateObject();
cJSON_AddStringToObject(root, "name", p.name);
cJSON_AddNumberToObject(root, "age", p.age);
cJSON_AddStringToObject(root, "address", p.address);
char *json_string = cJSON_Print(root);
printf("%s", json_string);

上述代碼中,我們首先創建一個cJSON對象root,并使用cJSON_AddXXXXToObject函數添加數據項。最后使用cJSON_Print函數將root對象轉化為JSON格式的字符串,并輸出。

如果我們需要將一個結構體數組轉化為JSON格式的數組對象,可以使用以下方法:

struct person persons[3];
strcpy(persons[0].name, "Tom");
persons[0].age = 25;
strcpy(persons[0].address, "New York");
strcpy(persons[1].name, "Jerry");
persons[1].age = 30;
strcpy(persons[1].address, "London");
strcpy(persons[2].name, "Mike");
persons[2].age = 35;
strcpy(persons[2].address, "Beijing");
cJSON *root_array = cJSON_CreateArray();
for (int i = 0; i< 3; i++) {
cJSON *item = cJSON_CreateObject();
cJSON_AddStringToObject(item, "name", persons[i].name);
cJSON_AddNumberToObject(item, "age", persons[i].age);
cJSON_AddStringToObject(item, "address", persons[i].address);
cJSON_AddItemToArray(root_array, item);
}
char *json_array_string = cJSON_Print(root_array);
printf("%s", json_array_string);

上述代碼將三個person結構體轉化為JSON格式的數組對象,并輸出。

總結來說,使用cJSON庫可以方便地將C語言中的結構體或者數組轉化為JSON格式的字符串或者數組對象。