#ifndef __FINDDEVMSG_H_ #define __FINDDEVMSG_H_ #include #include #include #include #include #include using namespace std; class findDevMsg { public: std::string requestId; std::string ServerIP; int ServerPort; std::string DockerAddress; int DockerPort; std::string attr1; std::string attr2; std::string attr3; public: findDevMsg(){} ~findDevMsg(){} /** * @description: json转换为object * @param {string&} json * @return {*} */ bool JsonToObject(std::string& json){ rapidjson::Document doc; if (doc.Parse(json.c_str()).HasParseError()) { return false; } // get members const auto end = doc.MemberEnd(); // json_type // if(end == doc.FindMember("requestId") || !doc["requestId"].IsString()) { // return false; // }else{ // requestId = doc["requestId"].GetString(); // } if(end == doc.FindMember("ServerIP") || !doc["ServerIP"].IsString()) { return false; }else{ ServerIP = doc["ServerIP"].GetString(); } if(end == doc.FindMember("ServerPort") || !doc["ServerPort"].IsInt()) { return false; }else{ ServerPort = doc["ServerPort"].GetInt(); } if(end == doc.FindMember("DockerAddress") || !doc["DockerAddress"].IsString()) { return false; }else{ DockerAddress = doc["DockerAddress"].GetString(); } if(end == doc.FindMember("DockerPort") || !doc["DockerPort"].IsInt()) { return false; }else{ DockerPort = doc["DockerPort"].GetInt(); } if(end != doc.FindMember("attr1") && doc["attr1"].IsString()) { attr1 = doc["attr1"].GetString(); } if(end != doc.FindMember("attr2") && doc["attr2"].IsString()) { attr1 = doc["attr2"].GetString(); } if(end != doc.FindMember("attr3") && doc["attr3"].IsString()) { attr3 = doc["attr3"].GetString(); } return true; } }; #endif