如何将此类序列化为XML或JSON

时间:2015-05-08 22:12:12

标签: c++ xml json serialization rapidjson

我有一个来自名为" Campus"的类的对象列表。它包含两个字符串,一个int和两个列表:一个用于"学生",另一个用于"教师",在关闭程序之前,我想保存校园对象,当然"学生"和#34;教师"列表中包含的对象,我希望以XML或JSON格式或其他任何方式序列化这些数据,然后将结果存储在文件中。

在XML或JSON或其他解决方案中,有人能给我一个最快的方法来使用库(在升级时不那么重)进行序列化。在处理JSON或XML序列化时,我不知道该怎么做! 编辑:RapidJSON是否可行?

class Campus
{
private:
    std::string city;
    std::string region;
    int capacity;
    std::list<Student> students;
    std::list<Teacher> teachers;
}

class Student
{
private:
    int ID;
    std::string name;
    std::string surname;
}

class Teacher
{
protected:
    int ID;
    std::string name;
    std::string surname;
};

2 个答案:

答案 0 :(得分:2)

您可以使用此C ++序列化库:Pakal persist

   GLfloat foodAmbient[] = { 0.3f, 0.6f, 1.0f, 1.0f };
    GLfloat foodSpecular[] = { 0.3f, 0.6f, 1.0f, 1.0f };
    GLfloat foodDiffuse[] = { 5.3f, 0.3f, 1.0f, 1.0f };
    GLfloat foodShininess[] = { 50.0 };

    if (type == 2)
    {
        foodDiffuse = { 0.3f, 0.3f, 5.3f, 1.0f };
    }

    glMaterialfv(GL_FRONT, GL_AMBIENT, foodAmbient);
    glMaterialfv(GL_FRONT, GL_SPECULAR, foodSpecular);
    glMaterialfv(GL_FRONT, GL_DIFFUSE, foodDiffuse);

答案 1 :(得分:0)

不幸的是C ++不支持反射,所以它不能自动找出参数名称..但是看看这个看起来会接近你想要的答案:https://stackoverflow.com/a/19974486/1715829