void Index::FromJson()

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");
            }
        }
    }
}