Commit 9a50462f by guanghui.cui

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

parent d14f35eb
......@@ -71,34 +71,43 @@ JsonModule::~JsonModule()
const char* GetJsonStringSafe(rapidjson::Value& obj,const char* key)
{
if(obj.HasMember(key)){
rapidjson::Value& vObj = obj[key];
if(vObj.IsString()){
return vObj.GetString();
if (!obj.IsNull()) {
if (obj.HasMember(key)) {
rapidjson::Value& vObj = obj[key];
if (vObj.IsString()) {
return vObj.GetString();
}
}
}
return "";
}
int GetJsonIntSafe(rapidjson::Value& obj,const char* key)
{
if(obj.HasMember(key)){
rapidjson::Value& vObj = obj[key];
if(vObj.IsInt()){
return vObj.GetInt();
if (!obj.IsNull()) {
if (obj.HasMember(key)) {
rapidjson::Value& vObj = obj[key];
if (vObj.IsInt()) {
return vObj.GetInt();
}
}
}
return 0;
}
int64_t GetJsonInt64Safe(rapidjson::Value& obj, const char* key)
{
if (obj.HasMember(key)) {
rapidjson::Value& vObj = obj[key];
if (vObj.IsInt64()) {
return vObj.GetInt64();
if (!obj.IsNull()) {
if (obj.HasMember(key)) {
rapidjson::Value& vObj = obj[key];
if (vObj.IsInt64()) {
return vObj.GetInt64();
}
}
}
return 0;
}
......
......@@ -19,7 +19,7 @@
INITIALIZE_EASYLOGGINGPP
#define VERSION "1.0.7 beta 5" //版本号
#define VERSION "1.0.8" //版本号
std::string g_init_data;
std::string g_init_data_ods_back;
......@@ -174,7 +174,7 @@ void* listen_pos_func(void* arg)
TCPClient ods;
if( ods.doConnect(ods_recv_port, ods_ip.c_str()) )
{
ods.setSocketTimeout(60); //设置超时
ods.setSocketTimeout(30); //设置超时
if( ods.send(requestOdsData) )
{
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