JsonObject.hpp 848 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #pragma once
  2. #include "ArduinoJson/JsonContainer.hpp"
  3. #include "ArduinoJson/JsonObjectIterator.hpp"
  4. namespace ArduinoJson
  5. {
  6. class JsonObject : public JsonContainer
  7. {
  8. public:
  9. JsonObject()
  10. {
  11. }
  12. explicit JsonObject(Internals::JsonNode* node)
  13. : JsonContainer(node)
  14. {
  15. }
  16. JsonValue operator[](const char* key);
  17. void remove(const char* key);
  18. JsonArray createNestedArray(const char* key);
  19. JsonObject createNestedObject(const char* key);
  20. bool success()
  21. {
  22. return _node && _node->isObject();
  23. }
  24. JsonObjectIterator begin();
  25. JsonObjectIterator end()
  26. {
  27. return JsonObjectIterator(0);
  28. }
  29. private:
  30. Internals::JsonNode* getOrCreateNodeAt(const char* key);
  31. };
  32. }