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

c 如何定義變量接受json數(shù)據(jù)類型

黃文隆2年前8瀏覽0評論

在C語言中定義變量接收J(rèn)SON數(shù)據(jù)類型十分簡單。事實(shí)上,C語言中并沒有專門的JSON數(shù)據(jù)類型,但我們可以通過結(jié)構(gòu)體來模擬JSON對象。

舉例來說,如果我們有如下的JSON對象:

{
"name": "張三",
"age": 20,
"gender": "男",
"hobbies": ["籃球", "游泳"]
}

我們可以定義如下的結(jié)構(gòu)體:

typedef struct {
char *name;
int age;
char *gender;
char **hobbies;
} Person;

當(dāng)我們接收到JSON數(shù)據(jù)后,可以使用json-c庫將其轉(zhuǎn)換為json_object類型,然后再解析為我們定義的Person結(jié)構(gòu)體。

#include//接收J(rèn)SON數(shù)據(jù)
char *json_str = "{\"name\":\"張三\",\"age\":20,\"gender\":\"男\(zhòng)",\"hobbies\":[\"籃球\",\"游泳\"]}";
//將JSON數(shù)據(jù)轉(zhuǎn)為json_object類型
struct json_object *json_obj = json_tokener_parse(json_str);
//從json_object中解析出Person結(jié)構(gòu)體
Person person;
json_object_object_get_ex(json_obj, "name", &name_obj);
name = (char *)json_object_get_string(name_obj);
person.name = name;
json_object_object_get_ex(json_obj, "age", &age_obj);
age = json_object_get_int(age_obj);
person.age = age;
//以此類推解析gender和hobbies字段...
//釋放json_object
json_object_put(json_obj);

以上就是使用C語言定義變量接收J(rèn)SON數(shù)據(jù)類型的簡單實(shí)現(xiàn)方法。