#ifndef JsonUtils_h #define JsonUtils_h #include <Arduino.h> #include <IPUtils.h> #include <ArduinoJson.h> class JsonUtils { public: static void readIP(JsonObject& root, const String& key, IPAddress& ip, const String& def) { IPAddress defaultIp = {}; if (!defaultIp.fromString(def)) { defaultIp = INADDR_NONE; } readIP(root, key, ip, defaultIp); } static void readIP(JsonObject& root, const String& key, IPAddress& ip, const IPAddress& defaultIp = INADDR_NONE) { if (!root[key].is<String>() || !ip.fromString(root[key].as<String>())) { ip = defaultIp; } } static void writeIP(JsonObject& root, const String& key, const IPAddress& ip) { if (IPUtils::isSet(ip)) { root[key] = ip.toString(); } } }; #endif // end JsonUtils