bool Utils::_loadConfig(const char *filename, rapidjson::Document &doc, KVMap &kvmap, bool &bLoaded) { std::string fullPath = FileUtils::getInstance()->fullPathForFilename(filename); std::string fileContent = FileUtils::getInstance()->getStringFromFile(fullPath); doc.Parse<0>(fileContent.c_str()); if (doc.HasParseError()) { CCLOG("GetParseError %s\n", doc.GetParseError()); return false; } for (rapidjson::Value::ConstMemberIterator it=doc.MemberonBegin(); it!=doc.MemberonEnd(); ++it) { const auto &member = *it; const char *name = member.name.GetString(); const rapidjson::Value &val = member.value; kvmap.insert(Utils::KVMapPair(name, val)); } bLoaded = true; return true; }