jsoncpp как десериализовать вложенные данные и сериализовать имя и значение - PullRequest
0 голосов
/ 02 мая 2020

{ "влево": 0, "право": 10, "рассчитывать": 10, "данные": [{ "ID": 14, "имя": "ночь", "типа": "номер", "значение": "2"}, { "идентификатор": 19, "название": "день", "типа": "номер", "значение": "2430"}, { "ID": 17, "имя ":" утро», "типа": "число", "значение": "2410"}, { "ID": 11, "имя": "после обеда", "типа": "число", "значение": "1"}]}

до сих пор пробовал:

класс DYClass: publi c IJsonSerializable {

public:
    DYClass() :id(""), name(""), type(""), value("") {}

public:

    virtual void Serialize(Json::Value& root);
    virtual void Deserialize(Json::Value& root);

    std::string id;
    std::string name;
    std::string type;
    std::string value;

};
void DYClass::Serialize(Json::Value& root) {
        root["id"] = id;
        root["name"] = name;
        root["type"] = type;
        root["value"] = value;

    }

void DYClass::Deserialize(Json::Value& root) {
    name = root.get("name", "").asString();
    value = root.get("value", "").asString();
    name = root.get("name", "").asString();
    value = root.get("value", "").asString();
    }



class NClass : public IJsonSerializable {

public:
    NClass(void);
    virtual ~NClass(void);



    virtual void Serialize(Json::Value& root) {


    }

    virtual void Deserialize(Json::Value& root) {

        //Deserialize nested  Data
        Json::Value SWData = root["data"];
        //DYdatas.Deserialize(SWData);

       // DYdatas.name = root.get("name", "").asString();
        //DYdatas.value = root.get("value", "").asString();

    for (Json::Value::ArrayIndex i = 0; i != SWData.size(); i++)
            if (SWData[i].isMember("name"))
                names.push_back(root[i]["name"].asString());

        for (Json::Value::ArrayIndex i = 0; i != SWData.size(); i++)
            if (SWData[i].isMember("value"))
                values.push_back(root[i]["value"].asString());
    }
    std::vector<std::string> names;
    std::vector<std::string> values;

    string  left;
    string  right;
    string  count;
    DYClass DYdatas;


};
...