Mercurial > minori
view src/core/json.cpp @ 65:26721c28bf22
*: avoid usage of (to|from)StdString
in Qt5 (and probably Qt6 as well) these functions are only
available (or even usable) if Qt and Minori were built with the
*same standard headers*, which may not be the case in some
circumstances. hence, we'll use our own conversion functions,
which we probably should use anyway.
author | Paper <mrpapersonic@gmail.com> |
---|---|
date | Sun, 01 Oct 2023 23:26:35 -0400 |
parents | 5c0397762b53 |
children |
line wrap: on
line source
#include "core/json.h" namespace JSON { std::string GetString(nlohmann::json const& json, nlohmann::json::json_pointer const& ptr, std::string def) { if (json.contains(ptr) && json[ptr].is_string()) return json[ptr].get<std::string>(); else return def; } int GetInt(nlohmann::json const& json, nlohmann::json::json_pointer const& ptr, int def) { if (json.contains(ptr) && json[ptr].is_number()) return json[ptr].get<int>(); else return def; } bool GetBoolean(nlohmann::json const& json, nlohmann::json::json_pointer const& ptr, bool def) { if (json.contains(ptr) && json[ptr].is_boolean()) return json[ptr].get<bool>(); else return def; } double GetDouble(nlohmann::json const& json, nlohmann::json::json_pointer const& ptr, double def) { if (json.contains(ptr) && json[ptr].is_number()) return json[ptr].get<double>(); else return def; } } // namespace JSON