我有一个 xObject 类,它基本上是一个简单的“人员”类,我想能够将整个类序列化为 .json 文件,然后读取该文件以便能够从文件中提取变量并将这些变量链接到类的名称。
例如:
xObject 类代码:
class xObject{
string name;
string lastname;
int age;
public:
string getName(){
return name;
}
string getLastname(){
return lastname;
}
int getAge(){
return age;
}
}
然后我创建了一个带有一些属性的对象。
int main(){
xObject homer;
homer.name = "Homer";
homer.lastname = "Simpson";
homer.age = 30;
//SERIALIZATION OF HOMER.
homer.serialExport("File.json")
return 0;
}
现在,我的File.json应该是这样的:
{"homer" :
{"name" : "Homer"
"lastname" : "Simpson"
"age" : 30
}
}
然后,我希望能够从文件中读取数据,类似于以下方式提取数据:
int main(){
xObject bart;
bart.name = "Bart";
//ACTUAL USE OF THE .JSON FILE HERE
myFile = ("File.json");
bart.lastname = Deserializer(myFile).getLastname(); //It is supossed to assign "Simpson"
//to the lastname reading from the serialized
//homer class file described above.
bart.age = Deserializer(myFile).getAge() - 20; //Sets homer's age minus 20 years.
return 0;
}
那么,我该如何在C++上实现呢?(接受库的实现)
我应该如何检索已序列化的类名?
例如,Deserialize(myFile).getClassName()
应该返回 "homer"
我之前在Java中使用XML序列化做过类似的事情,很简单明了,但是在C++中似乎并不容易,而且我对C++相对较新。