JSON.h 750 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #pragma once
  2. #include "Types.h"
  3. namespace crown
  4. {
  5. enum JSONValue
  6. {
  7. JSON_NULL,
  8. JSON_BOOL,
  9. JSON_NUMBER
  10. };
  11. class JSON
  12. {
  13. public:
  14. JSON();
  15. void skip_whitespace();
  16. static void next(const char* str, const char c = 0, bool force_reset = false);
  17. static bool parse_bool(const char* token);
  18. static int32_t parse_int(const char* token);
  19. static float parse_float(const char* token);
  20. // static void parse_string(const char* token, List<char>& str);
  21. // static void parse_array(const char* token, List<const char*>& array);
  22. // static void parse_object(const char* token, Dictionary<const char* key, const char* val>& dict);
  23. private:
  24. char m_buffer[1024];
  25. uint32_t m_index;
  26. char m_current;
  27. };
  28. } // namespace crown