in resource.cpp [752:816]
void Index::FromJson(const Value& value)
{
ExtractJsonResult(value, "ttl", mTtl);
if (value.HasMember("line"))
{
mLineSet = true;
const Value& line = GetJsonValue(value, "line");
mLine.FromJson(line);
}
if (value.HasMember("keys"))
{
mKeysSet = true;
const Value& keys = GetJsonValue(value, "keys");
mKeys.FromJson(keys);
}
if (value.HasMember("all_keys"))
{
mAllKeysSet = true;
const Value& allKeys = GetJsonValue(value, "all_keys");
mAllKeys.FromJson(allKeys);
}
if (value.HasMember("lastModifyTime"))
{
ExtractJsonResult(value, "lastModifyTime", mLastModifyTime);
}
if (value.HasMember("log_reduce"))
{
ExtractJsonResult(value, "log_reduce", mLogReduceEnable);
}
if (value.HasMember("max_text_len"))
{
ExtractJsonResult(value, "max_text_len", mMaxTextLen);
}
if (value.HasMember("log_reduce_white_list"))
{
const Value &logReduceWhiteList = GetJsonValue(value, "log_reduce_white_list");
for (Value::ConstValueIterator itr = logReduceWhiteList.Begin(); itr != logReduceWhiteList.End(); ++itr)
{
if (itr->IsString())
{
mLogReduceWhiteList.push_back(itr->GetString());
}
else
{
throw JsonException("ValueTypeException", "One value of member logReduceWhiteList is not string type");
}
}
}
if (value.HasMember("log_reduce_black_list"))
{
const Value &logReduceBlackList = GetJsonValue(value, "log_reduce_black_list");
for (Value::ConstValueIterator itr = logReduceBlackList.Begin(); itr != logReduceBlackList.End(); ++itr)
{
if (itr->IsString())
{
mLogReduceBlackList.push_back(itr->GetString());
}
else
{
throw JsonException("ValueTypeException", "One value of member logReduceBlackList is not string type");
}
}
}
}