在C中,使用litjson庫可以很方便地將JSON解析成類。
// 導(dǎo)入litjson庫 #include "litjson.h" // 定義一個(gè)學(xué)生類 class Student { public: int id; std::string name; int age; }; // 解析JSON字符串成Student對象 Student parseJsonString(std::string jsonString) { // 從JSON字符串中創(chuàng)建Json對象 litjson::Json json = litjson::Json::parse(jsonString); // 創(chuàng)建一個(gè)Student對象并設(shè)置屬性值 Student student; student.id = json["id"].as_integer(); student.name = json["name"].as_string(); student.age = json["age"].as_integer(); return student; }
在上面的代碼中,我們首先導(dǎo)入litjson庫。然后定義了一個(gè)Student類,包含id、name和age三個(gè)屬性。
我們還定義了一個(gè)函數(shù)parseJsonString,用來將一個(gè)JSON字符串解析成Student對象。這個(gè)函數(shù)中,我們首先使用Json::parse方法將JSON字符串轉(zhuǎn)換成Json對象。然后從Json對象中取出屬性值,并設(shè)置到Student對象中。
有了這個(gè)函數(shù),我們就可以將一個(gè)JSON字符串解析成Student對象了:
std::string jsonString = "{\"id\":123,\"name\":\"Tom\",\"age\":18}"; Student student = parseJsonString(jsonString);
上面的代碼將一個(gè)JSON字符串解析成了Student對象,其中id為123,name為Tom,age為18。