Cleaned up and fixed some errors in the Json Parser.

This commit is contained in:
2024-08-15 19:28:30 -07:00
parent 2e705627ac
commit c607b20bad
14 changed files with 241 additions and 253 deletions

View File

@@ -12,57 +12,57 @@
namespace ehs
{
class EHS_LIB_IO Json
class EHS_LIB_IO Json final
{
private:
JsonBase* value;
JsonBase *value;
public:
virtual ~Json();
~Json();
Json();
Json(const JsonBase& value);
Json(const JsonBase &value);
Json(const JsonObj& value);
Json(const JsonObj &value);
Json(const JsonArray& value);
Json(const JsonArray &value);
Json(const JsonBool& value);
Json(const JsonBool &value);
Json(const JsonNum& value);
Json(const JsonNum &value);
Json(const JsonStr& value);
Json(const JsonStr &value);
Json(const char* data, const UInt_64 size, const UInt_64 extra);
Json(const char *data, UInt_64 size, UInt_64 extra);
Json(const Str_8& data, const UInt_64 extra);
Json(const Str_8 &data, UInt_64 extra);
Json(Json&& json) noexcept;
Json(Json &&json) noexcept;
Json(const Json &json);
Json& operator=(Json&& json) noexcept;
Json &operator=(Json &&json) noexcept;
Json& operator=(const Json& json);
Json &operator=(const Json &json);
JsonBase* GetValue();
JsonBase *GetValue();
JsonBase* RetrieveValue(const Str_8& access);
JsonBase *RetrieveValue(const Str_8 &access);
Str_8 ToStr(const bool compact) const;
Str_8 ToStr(bool compact) const;
private:
static Vector<Str_8> ParseAccess(const Str_8& access);
static Vector<Str_8> ParseAccess(const Str_8 &access);
void ParseValue(JsonVar* var, const Char_8** begin, const Char_8* end, const UInt_64 extra);
void ParseValue(JsonVar *var, const Char_8 **begin, const Char_8 *end, UInt_64 extra);
JsonVar ParseVar(const Char_8** begin, const Char_8* end, const UInt_64 extra);
JsonVar ParseVar(const Char_8 **begin, const Char_8 *end, UInt_64 extra);
void ParseObject(JsonObj* obj, const Char_8** begin, const Char_8* end, const UInt_64 extra);
void ParseObject(JsonObj *obj, const Char_8 **begin, const Char_8 *end, UInt_64 extra);
void ParseArray(JsonArray* arr, const Char_8** begin, const Char_8* end, const UInt_64 extra);
void ParseArray(JsonArray *arr, const Char_8 **begin, const Char_8 *end, UInt_64 extra);
void Parse(const Str_8& data, const UInt_64 extra);
void Parse(const Str_8 &data, UInt_64 extra);
};
}