Mercurial > minori
view src/core/json.cc @ 128:859d2a957940
cmake: set CXX_STANDARD to 17
builds: get wget on linux, don't attempt to mount binfmt_misc on win32/64
I'd prefer staying on C++11, but if constexpr is just so damn sexy...
author | Paper <mrpapersonic@gmail.com> |
---|---|
date | Thu, 09 Nov 2023 02:28:22 -0500 |
parents | d02fdf1d6708 |
children | f88eda79c60a |
line wrap: on
line source
#include "core/json.h" namespace JSON { std::string GetString(const nlohmann::json& json, const nlohmann::json::json_pointer& ptr, std::string def) { if (json.contains(ptr) && json[ptr].is_string()) return json[ptr].get<std::string>(); else return def; } int GetInt(const nlohmann::json& json, const nlohmann::json::json_pointer& ptr, int def) { if (json.contains(ptr) && json[ptr].is_number()) return json[ptr].get<int>(); else return def; } bool GetBoolean(const nlohmann::json& json, const nlohmann::json::json_pointer& ptr, bool def) { if (json.contains(ptr) && json[ptr].is_boolean()) return json[ptr].get<bool>(); else return def; } double GetDouble(const nlohmann::json& json, const nlohmann::json::json_pointer& ptr, double def) { if (json.contains(ptr) && json[ptr].is_number()) return json[ptr].get<double>(); else return def; } } // namespace JSON