Mercurial > minori
diff src/json.cpp @ 6:1d82f6e04d7d
Update: add first parts to the settings dialog
author | Paper <mrpapersonic@gmail.com> |
---|---|
date | Wed, 16 Aug 2023 00:49:17 -0400 |
parents | 23d0d9319a00 |
children | 07a9095eaeed |
line wrap: on
line diff
--- a/src/json.cpp Sat Aug 12 13:10:34 2023 -0400 +++ b/src/json.cpp Wed Aug 16 00:49:17 2023 -0400 @@ -2,31 +2,27 @@ namespace JSON { -std::string GetString(nlohmann::json const& json, std::string const& key) { - auto item = json.find(key); - if (item != json.end() && item->is_string()) - return item->get<std::string>(); +std::string GetString(nlohmann::json const& json, nlohmann::json::json_pointer const& ptr) { + if (json.contains(ptr) && json[ptr].is_string()) + return json[ptr].get<std::string>(); else return ""; } -int GetInt(nlohmann::json const& json, std::string const& key) { - auto item = json.find(key); - if (item != json.end() && item->is_number()) - return item->get<int>(); +int GetInt(nlohmann::json const& json, nlohmann::json::json_pointer const& ptr) { + if (json.contains(ptr) && json[ptr].is_number()) + return json[ptr].get<int>(); else return 0; } -bool GetBoolean(nlohmann::json const& json, std::string const& key) { - auto item = json.find(key); - if (item != json.end() && item->is_boolean()) - return item->get<bool>(); +bool GetBoolean(nlohmann::json const& json, nlohmann::json::json_pointer const& ptr) { + if (json.contains(ptr) && json[ptr].is_boolean()) + return json[ptr].get<bool>(); else return false; } -double GetDouble(nlohmann::json const& json, std::string const& key) { - auto item = json.find(key); - if (item != json.end() && item->is_number()) - return item->get<double>(); +double GetDouble(nlohmann::json const& json, nlohmann::json::json_pointer const& ptr) { + if (json.contains(ptr) && json[ptr].is_number()) + return json[ptr].get<double>(); else return 0; }