JsonArray.hpp 959 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #pragma once
  2. #include "JsonContainer.hpp"
  3. #include "JsonArrayIterator.hpp"
  4. namespace ArduinoJson
  5. {
  6. class JsonArray : public JsonContainer
  7. {
  8. public:
  9. JsonArray()
  10. {
  11. }
  12. explicit JsonArray(Internals::JsonNode* node)
  13. : JsonContainer(node)
  14. {
  15. }
  16. JsonValue operator[](int index) const;
  17. void add(bool value);
  18. void add(const char* value);
  19. void add(double value, int decimals=2);
  20. void add(int value) { add(static_cast<long>(value)); }
  21. void add(long value);
  22. void add(JsonContainer nestedArray); // TODO: should allow JsonValue too
  23. JsonArray createNestedArray();
  24. JsonObject createNestedObject();
  25. bool success()
  26. {
  27. return _node && _node->isArray();
  28. }
  29. JsonArrayIterator begin();
  30. JsonArrayIterator end()
  31. {
  32. return JsonArrayIterator(0);
  33. }
  34. };
  35. }