JSONObject.h 667 B

123456789101112131415161718192021222324252627282930313233343536
  1. #ifndef JSONOBJECT_H
  2. #define JSONOBJECT_H
  3. #include <cJSON.h>
  4. #include <string>
  5. #include <cstring>
  6. #include <vector>
  7. namespace bell {
  8. class JSONValue
  9. {
  10. public:
  11. JSONValue(cJSON* body, std::string key);
  12. void operator=(const std::string val);
  13. void operator=(const char* val);
  14. void operator=(int val);
  15. private:
  16. cJSON* body;
  17. std::string key;
  18. };
  19. class JSONObject
  20. {
  21. public:
  22. JSONObject();
  23. ~JSONObject();
  24. JSONValue operator[](std::string index);
  25. std::string toString();
  26. std::vector<uint8_t> toVector();
  27. private:
  28. cJSON* body;
  29. };
  30. }
  31. #endif