diff src/json.cpp @ 6:1d82f6e04d7d

Update: add first parts to the settings dialog
author Paper <mrpapersonic@gmail.com>
date Wed, 16 Aug 2023 00:49:17 -0400
parents 23d0d9319a00
children 07a9095eaeed
line wrap: on
line diff
--- a/src/json.cpp	Sat Aug 12 13:10:34 2023 -0400
+++ b/src/json.cpp	Wed Aug 16 00:49:17 2023 -0400
@@ -2,31 +2,27 @@
 
 namespace JSON {
 
-std::string GetString(nlohmann::json const& json, std::string const& key) {
-	auto item = json.find(key);
-	if (item != json.end() && item->is_string())
-		return item->get<std::string>();
+std::string GetString(nlohmann::json const& json, nlohmann::json::json_pointer const& ptr) {
+	if (json.contains(ptr) && json[ptr].is_string())
+		return json[ptr].get<std::string>();
 	else return "";
 }
 
-int GetInt(nlohmann::json const& json, std::string const& key) {
-	auto item = json.find(key);
-	if (item != json.end() && item->is_number())
-		return item->get<int>();
+int GetInt(nlohmann::json const& json, nlohmann::json::json_pointer const& ptr) {
+	if (json.contains(ptr) && json[ptr].is_number())
+		return json[ptr].get<int>();
 	else return 0;
 }
 
-bool GetBoolean(nlohmann::json const& json, std::string const& key) {
-	auto item = json.find(key);
-	if (item != json.end() && item->is_boolean())
-		return item->get<bool>();
+bool GetBoolean(nlohmann::json const& json, nlohmann::json::json_pointer const& ptr) {
+	if (json.contains(ptr) && json[ptr].is_boolean())
+		return json[ptr].get<bool>();
 	else return false;
 }
 
-double GetDouble(nlohmann::json const& json, std::string const& key) {
-	auto item = json.find(key);
-	if (item != json.end() && item->is_number())
-		return item->get<double>();
+double GetDouble(nlohmann::json const& json, nlohmann::json::json_pointer const& ptr) {
+	if (json.contains(ptr) && json[ptr].is_number())
+		return json[ptr].get<double>();
 	else return 0;
 }