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

c 類轉(zhuǎn)換成json數(shù)組

錢多多2年前10瀏覽0評論

在C語言編程中,使用JSON數(shù)組是一種非常常見的數(shù)據(jù)傳輸格式。因此,將C語言中的類轉(zhuǎn)換成JSON數(shù)組也是必備技能之一。

下面我們就來看一下如何將C語言中的類轉(zhuǎn)換成JSON數(shù)組:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <jansson.h>
typedef struct {
int id;
char name[20];
int age;
} Person;
int main() {
Person person1 = {1, "John", 25};
Person person2 = {2, "Jane", 22};
json_t* root = json_array();
json_t* person1_json = json_object();
json_t* person2_json = json_object();
json_object_set_new(person1_json, "id", json_integer(person1.id));
json_object_set_new(person1_json, "name", json_string(person1.name));
json_object_set_new(person1_json, "age", json_integer(person1.age));
json_object_set_new(person2_json, "id", json_integer(person2.id));
json_object_set_new(person2_json, "name", json_string(person2.name));
json_object_set_new(person2_json, "age", json_integer(person2.age));
json_array_append_new(root, person1_json);
json_array_append_new(root, person2_json);
char* json_str = json_dumps(root, JSON_INDENT(4));
printf("%s\n", json_str);
free(json_str);
json_decref(root);
json_decref(person1_json);
json_decref(person2_json);
return 0;
}

如上代碼所示,我們定義了一個Person結(jié)構(gòu)體,并在main函數(shù)中生成了兩個實例,即person1和person2,然后將這兩個實例轉(zhuǎn)換成了JSON數(shù)組。

首先,我們創(chuàng)建了一個空的JSON數(shù)組root,然后創(chuàng)建了兩個JSON對象person1_json和person2_json,將這兩個對象分別寫入了對應(yīng)的id、name和age屬性。

最后,使用函數(shù)json_array_append_new將person1_json和person2_json對象添加到了root數(shù)組中,并使用json_dumps將root數(shù)組轉(zhuǎn)換成了字符串。

通過執(zhí)行該代碼,我們就可以將C語言中的結(jié)構(gòu)體轉(zhuǎn)換成JSON數(shù)組了。