Mercurial > minori
view src/core/json.cc @ 187:9613d72b097e
*: multiple performance improvements
like marking `static const` when it makes sense...
date: change old stupid heap-based method to a structure which should
make copying the thing actually make a copy.
also many performance-based changes, like removing the std::tie
dependency and forward-declaring nlohmann json
*: replace every instance of QString::fromUtf8 to Strings::ToQString.
the main difference is that our function will always convert exactly
what is in the string, while some other times it would only convert
up to the nearest NUL byte
| author | Paper <mrpapersonic@gmail.com> |
|---|---|
| date | Wed, 06 Dec 2023 13:43:54 -0500 |
| parents | 9b10175be389 |
| children | 47c9f8502269 |
line wrap: on
line source
#include "core/json.h" #include "json/json.hpp" namespace JSON { nlohmann::json GetValue(const nlohmann::json& json, const nlohmann::json::json_pointer& ptr) { if (json.contains(ptr)) return json.at(ptr); else return nlohmann::json(); } 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; } } // namespace JSON
