comparison src/core/json.cc @ 174:f88eda79c60a

anime/db: add some more json functionality, still doesn't compile :/
author Paper <mrpapersonic@gmail.com>
date Wed, 29 Nov 2023 13:53:56 -0500
parents d02fdf1d6708
children 9b10175be389
comparison
equal deleted inserted replaced
173:de0a8d2f28b3 174:f88eda79c60a
1 #include "core/json.h" 1 #include "core/json.h"
2 2
3 namespace JSON { 3 namespace JSON {
4 4
5 std::string GetString(const nlohmann::json& json, const nlohmann::json::json_pointer& ptr, std::string def) { 5 nlohmann::json GetValue(const nlohmann::json& json, const nlohmann::json::json_pointer& ptr) {
6 if (json.contains(ptr) && json[ptr].is_string()) 6 if (json.contains(ptr))
7 return json[ptr].get<std::string>(); 7 return json.at(ptr);
8 else 8 else
9 return def; 9 return nlohmann::json();
10 }
11
12 int GetInt(const nlohmann::json& json, const nlohmann::json::json_pointer& ptr, int def) {
13 if (json.contains(ptr) && json[ptr].is_number())
14 return json[ptr].get<int>();
15 else
16 return def;
17 } 10 }
18 11
19 bool GetBoolean(const nlohmann::json& json, const nlohmann::json::json_pointer& ptr, bool def) { 12 bool GetBoolean(const nlohmann::json& json, const nlohmann::json::json_pointer& ptr, bool def) {
20 if (json.contains(ptr) && json[ptr].is_boolean()) 13 if (json.contains(ptr) && json[ptr].is_boolean())
21 return json[ptr].get<bool>(); 14 return json[ptr].get<bool>();
22 else 15 else
23 return def; 16 return def;
24 } 17 }
25 18
26 double GetDouble(const nlohmann::json& json, const nlohmann::json::json_pointer& ptr, double def) {
27 if (json.contains(ptr) && json[ptr].is_number())
28 return json[ptr].get<double>();
29 else
30 return def;
31 }
32
33 } // namespace JSON 19 } // namespace JSON