view src/core/json.cc @ 347:a0aa8c8c4307

dep/anitomy: port to use UCS-4 rather than wide strings rationale: wide strings are not the same on every platform, and might not even be Unicode. (while they usually are, its possible that they are not) I was *going* to change StringToInt to use a string stream, but outputting to an integer doesn't seem to work at all with UCS-4, even though it ought to, so I just rolled my own that uses the arabic digits only.
author Paper <paper@paper.us.eu.org>
date Sun, 23 Jun 2024 10:32:09 -0400
parents 9b10175be389
children
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