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

c json 轉(zhuǎn)化為類

榮姿康2年前9瀏覽0評論

C語言是一門被廣泛使用的編程語言,它具有高效性、易擴展等優(yōu)點,而JSON是一種輕量級的數(shù)據(jù)交換格式,它具有易讀、易理解等優(yōu)點。如何將JSON數(shù)據(jù)轉(zhuǎn)化為C語言的類呢?這里我們介紹使用cJSON庫實現(xiàn)此功能。

#include <stdio.h>
#include <cJSON.h>
struct person {
char *name;
int age;
float height;
};
void parse_person(const char *json_str, struct person *p){
cJSON *json = cJSON_Parse(json_str);
if (json == NULL) {
cJSON_Delete(json);
printf("Error before: [%s]\n", cJSON_GetErrorPtr());
return;
}
cJSON *name = cJSON_GetObjectItem(json, "name");
cJSON *age = cJSON_GetObjectItem(json, "age");
cJSON *height = cJSON_GetObjectItem(json, "height");
p->name = name->valuestring;
p->age = age->valueint;
p->height = height->valuedouble;
cJSON_Delete(json);
return;
}
int main() {
char *json_str = "{\"name\":\"Tom\",\"age\":20,\"height\":170.5}";
struct person p;
parse_person(json_str, &p);
printf("name: %s\nage: %d\nheight: %.2f\n", p.name, p.age, p.height);
return 0;
}

上述代碼解析了一個JSON字符串,并將解析結(jié)果存儲在一個person結(jié)構(gòu)體中。其中,我們使用了cJSON_Parse函數(shù)將JSON字符串解析成cJSON對象。然后,我們通過cJSON_GetObjectItem函數(shù)從cJSON對象中獲取我們所需的數(shù)據(jù),并存儲在結(jié)構(gòu)體中。

總之,使用cJSON庫可以讓我們方便地將JSON數(shù)據(jù)轉(zhuǎn)化為C語言的類,從而實現(xiàn)了方便交換數(shù)據(jù)的功能。