bool PlayingCards::JsonDeserialization(const std::string &sJsonPlayingCards, std::string &sErrorMessage) { Json::Reader jReader; Json::Value jCards; Json::Value jCard; Card cCard; if (jReader.parse(sJsonPlayingCards, jCards, false)) { m_vCards.clear(); for (Json::ValueIterator it = jCards.begin(); it != jCards.end(); ++it) { jCard = (*it); if (cCard.JsonDeserialization(jCard.toStyledString(), sErrorMessage)) { m_vCards.push_back(cCard); } else { return false; } } return true; } else { sErrorMessage = jReader.getFormattedErrorMessages(); return false; } }
bool PlayingCards::JsonDeserialization(const Json::Value jCards, std::string &sErrorMessage) { Json::Value jCard; Card cCard; m_vCards.clear(); for (Json::ValueConstIterator it = jCards.begin(); it != jCards.end(); ++it) { jCard = (*it); if (cCard.JsonDeserialization(jCard.toStyledString(), sErrorMessage)) { m_vCards.push_back(cCard); } else { return false; } } return true; }