JsonArray.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. /*
  2. * Arduino JSON library
  3. * Benoit Blanchon 2014 - MIT License
  4. */
  5. #pragma once
  6. #include "JsonObjectBase.h"
  7. #include "JsonValue.h"
  8. namespace ArduinoJson
  9. {
  10. namespace Parser
  11. {
  12. class JsonHashTable;
  13. class JsonArray : public JsonObjectBase
  14. {
  15. friend class JsonParserBase;
  16. friend class JsonValue;
  17. public:
  18. JsonArray() {}
  19. bool success()
  20. {
  21. return JsonObjectBase::success() && tokens->type == JSMN_ARRAY;
  22. }
  23. int size()
  24. {
  25. return success() ? tokens[0].size : 0;
  26. }
  27. JsonValue operator[](int index);
  28. DEPRECATED int getLength()
  29. {
  30. return size();
  31. }
  32. DEPRECATED JsonArray getArray(int index)
  33. {
  34. return (JsonArray) (*this)[index];
  35. }
  36. DEPRECATED bool getBool(int index)
  37. {
  38. return (bool) (*this)[index];
  39. }
  40. DEPRECATED double getDouble(int index)
  41. {
  42. return (double) (*this)[index];
  43. }
  44. DEPRECATED JsonHashTable getHashTable(int index);
  45. DEPRECATED long getLong(int index)
  46. {
  47. return (long) (*this)[index];
  48. }
  49. DEPRECATED char* getString(int index)
  50. {
  51. return (char*) (*this)[index];
  52. }
  53. private:
  54. JsonArray(char* json, jsmntok_t* tokens)
  55. : JsonObjectBase(json, tokens)
  56. {
  57. }
  58. };
  59. }
  60. }