diff src/core/json.cpp @ 9:5c0397762b53

INCOMPLETE: megacommit :)
author Paper <mrpapersonic@gmail.com>
date Sun, 10 Sep 2023 03:59:16 -0400
parents src/json.cpp@07a9095eaeed
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/core/json.cpp	Sun Sep 10 03:59:16 2023 -0400
@@ -0,0 +1,33 @@
+#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