#include "AbstractConfiger.h" #include #include "AsstUtils.hpp" #include "Logger.hpp" bool asst::AbstractConfiger::load(const std::string& filename) { LogTraceFunction; #ifdef _WIN32 Log.info("Load:", utils::gbk_2_utf8(filename)); #else Log.info("Load:", filename); #endif if (!std::filesystem::exists(filename)) { return false; } std::string content = utils::load_file_without_bom(filename); auto&& ret = json::parser::parse(content); if (!ret) { m_last_error = "json pasing error, content:" + content; return false; } const auto& root = ret.value(); try { return parse(root); } catch (json::exception& e) { m_last_error = std::string("json field error ") + e.what(); return false; } return true; }