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

c語言 json轉結構

林子帆1年前7瀏覽0評論

在C語言中,將JSON數據轉換為結構體是常見的任務。這樣做可以方便地處理JSON數據,更容易地訪問其屬性。下面我們來看看如何將JSON數據轉換為C語言結構體。

{
"name":"Tom",
"age":25,
"gender":"male",
"address": {
"street": "123 Main St",
"city":"New York",
"state":"NY"
}
}

我們在C語言中創建一個結構體來表示上面的JSON數據:

typedef struct {
char* name;
int age;
char* gender;
struct Address {
char* street;
char* city;
char* state;
} address;
} Person;

然后我們可以使用標準C庫中的JSON解析器庫來解析JSON數據并將其轉換為C語言結構體:

#include <json-c/json.h>
...
// 解析JSON數據
struct json_object* jsonObj = json_tokener_parse(jsonDataString);
// 轉換為結構體
Person person;
person.name = json_object_get_string(json_object_object_get(jsonObj, "name"));
person.age = json_object_get_int(json_object_object_get(jsonObj, "age"));
person.gender = json_object_get_string(json_object_object_get(jsonObj, "gender"));
//解析地址信息
struct json_object *addressObj = json_object_object_get(jsonObj, "address");
person.address.street = json_object_get_string(json_object_object_get(addressObj, "street"));
person.address.city = json_object_get_string(json_object_object_get(addressObj, "city"));
person.address.state = json_object_get_string(json_object_object_get(addressObj, "state"));

上面的代碼使用了標準C庫中的json-c庫,該庫提供了解析和操作JSON數據的函數。

上面的例子展示了如何將一個簡單的JSON對象轉換為C語言結構體。對于更復雜的JSON數據,我們可以使用類似的方法來將JSON數據轉換為嵌套的結構體。