Commit 9a50462f by guanghui.cui

json添加 null 判断,防止访问null程序崩溃

parent d14f35eb
...@@ -71,34 +71,43 @@ JsonModule::~JsonModule() ...@@ -71,34 +71,43 @@ JsonModule::~JsonModule()
const char* GetJsonStringSafe(rapidjson::Value& obj,const char* key) const char* GetJsonStringSafe(rapidjson::Value& obj,const char* key)
{ {
if(obj.HasMember(key)){ if (!obj.IsNull()) {
if (obj.HasMember(key)) {
rapidjson::Value& vObj = obj[key]; rapidjson::Value& vObj = obj[key];
if(vObj.IsString()){ if (vObj.IsString()) {
return vObj.GetString(); return vObj.GetString();
} }
} }
}
return ""; return "";
} }
int GetJsonIntSafe(rapidjson::Value& obj,const char* key) int GetJsonIntSafe(rapidjson::Value& obj,const char* key)
{ {
if(obj.HasMember(key)){ if (!obj.IsNull()) {
if (obj.HasMember(key)) {
rapidjson::Value& vObj = obj[key]; rapidjson::Value& vObj = obj[key];
if(vObj.IsInt()){ if (vObj.IsInt()) {
return vObj.GetInt(); return vObj.GetInt();
} }
} }
}
return 0; return 0;
} }
int64_t GetJsonInt64Safe(rapidjson::Value& obj, const char* key) int64_t GetJsonInt64Safe(rapidjson::Value& obj, const char* key)
{ {
if (!obj.IsNull()) {
if (obj.HasMember(key)) { if (obj.HasMember(key)) {
rapidjson::Value& vObj = obj[key]; rapidjson::Value& vObj = obj[key];
if (vObj.IsInt64()) { if (vObj.IsInt64()) {
return vObj.GetInt64(); return vObj.GetInt64();
} }
} }
}
return 0; return 0;
} }
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
INITIALIZE_EASYLOGGINGPP INITIALIZE_EASYLOGGINGPP
#define VERSION "1.0.7 beta 5" //版本号 #define VERSION "1.0.8" //版本号
std::string g_init_data; std::string g_init_data;
std::string g_init_data_ods_back; std::string g_init_data_ods_back;
...@@ -174,7 +174,7 @@ void* listen_pos_func(void* arg) ...@@ -174,7 +174,7 @@ void* listen_pos_func(void* arg)
TCPClient ods; TCPClient ods;
if( ods.doConnect(ods_recv_port, ods_ip.c_str()) ) if( ods.doConnect(ods_recv_port, ods_ip.c_str()) )
{ {
ods.setSocketTimeout(60); //设置超时 ods.setSocketTimeout(30); //设置超时
if( ods.send(requestOdsData) ) if( ods.send(requestOdsData) )
{ {
std::string tmp; std::string tmp;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment