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

c 類轉化為json

林雅南1年前10瀏覽0評論

在日常開發中,我們經常需要將C++中的類轉化為JSON格式,以便于傳輸和解析。下面介紹兩種常見的實現方式。

方式一:手動序列化

方式一:手動序列化
class Person {
public:
string name;
int age;
// 序列化函數
Json::Value toJson() {
Json::Value json;
json["name"] = name;
json["age"] = age;
return json;
}
};
// 示例
Person p = {"Tom", 22};
Json::Value json = p.toJson();
cout<< json.toStyledString()<< endl;
/*
輸出:
{
"name": "Tom",
"age": 22
}
*/

手動序列化需要在類中自定義一個toJson函數,將類成員的值寫入到Json::Value類型的對象中。這種方式需要手動維護序列化代碼,更加繁瑣。

方式二:使用第三方庫

方式二:使用第三方庫
// 使用JsonCpp庫
#includeclass Person {
public:
string name;
int age;
};
// 序列化函數
namespace Json {
void encode(Json::Value& json, const Person& p) {
json["name"] = p.name;
json["age"] = p.age;
}
}
// 示例
Person p = {"Tom", 22};
Json::Value json;
Json::encode(json, p);
cout<< json.toStyledString()<< endl;
/*
輸出:
{
"name": "Tom",
"age": 22
}
*/

使用第三方庫可以簡化序列化過程,使代碼更加清晰。這里使用JsonCpp庫作為示例,序列化函數需要在Json命名空間中定義。調用時將類對象傳入函數中即可。