【发布时间】:2016-03-23 21:36:00
【问题描述】:
我有一个 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++ 还比较陌生。
【问题讨论】:
标签: c++ json parsing serialization deserialization