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

cjson 將結(jié)構(gòu)體轉(zhuǎn)json格式

錢琪琛2年前8瀏覽0評論

cjson是在C語言中操作json數(shù)據(jù)的一個非常簡單、小巧且高效的解析庫。它可以將C語言中的結(jié)構(gòu)體數(shù)據(jù)轉(zhuǎn)換成json格式數(shù)據(jù),非常方便。

使用cjson將結(jié)構(gòu)體轉(zhuǎn)化為json格式,需要使用到cjson庫中的cJSON_AddItemToObject函數(shù)。下面是一個示例代碼。

#include#include#include#include "cJSON.h"
struct person {
char *name;
int age;
char *address;
};
int main() {
struct person p1 = {
.name = "Tom",
.age = 20,
.address = "Beijing"
};
cJSON *root = cJSON_CreateObject();
cJSON *person = cJSON_CreateObject();
cJSON_AddItemToObject(person, "name", cJSON_CreateString(p1.name));
cJSON_AddItemToObject(person, "age", cJSON_CreateNumber(p1.age));
cJSON_AddItemToObject(person, "address", cJSON_CreateString(p1.address));
cJSON_AddItemToObject(root, "person", person);
char *json_str = cJSON_Print(root);
printf("%s\n", json_str);
free(json_str);
cJSON_Delete(root);
return 0;
}

在上面的代碼中,我們首先定義了一個自己構(gòu)造的person結(jié)構(gòu)體,并將其賦值為p1。然后使用cJSON_CreateObject函數(shù)創(chuàng)建了一個json格式的root對象,同時又創(chuàng)建了一個person對象。之后,我們調(diào)用了cJSON_AddItemToObject函數(shù),向person對象中添加鍵值對,將結(jié)構(gòu)體中的數(shù)據(jù)轉(zhuǎn)換成json格式的數(shù)據(jù)。最后,我們又將person對象添加到了root對象中,并使用cJSON_Print函數(shù)將其轉(zhuǎn)換成字符串格式的json數(shù)據(jù),最終打印出來。

總之,使用cjson將結(jié)構(gòu)體轉(zhuǎn)換為json相當方便,可以非常容易地將C語言中的數(shù)據(jù)格式化為json格式的字符串。這種方法非常常見,可以幫助我們將數(shù)據(jù)從一個地方傳輸?shù)搅硪粋€地方,并保持數(shù)據(jù)的格式一致性。