2024-02-05 22:25:30 -08:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "ehs/EHS.h"
|
|
|
|
#include "ehs/Str.h"
|
|
|
|
|
|
|
|
namespace ehs
|
|
|
|
{
|
|
|
|
enum class JsonType
|
|
|
|
{
|
|
|
|
NULLOBJ,
|
|
|
|
OBJ,
|
|
|
|
ARRAY,
|
|
|
|
BOOL,
|
|
|
|
NUM,
|
|
|
|
STR
|
|
|
|
};
|
|
|
|
|
2024-07-24 01:36:20 -07:00
|
|
|
class EHS_LIB_IO JsonBase
|
2024-02-05 22:25:30 -08:00
|
|
|
{
|
|
|
|
private:
|
|
|
|
JsonType type;
|
|
|
|
|
|
|
|
public:
|
2024-08-15 19:28:30 -07:00
|
|
|
virtual ~JsonBase() = default;
|
|
|
|
|
2024-02-05 22:25:30 -08:00
|
|
|
JsonBase();
|
|
|
|
|
2024-08-15 19:28:30 -07:00
|
|
|
JsonBase(JsonType type);
|
2024-02-05 22:25:30 -08:00
|
|
|
|
|
|
|
JsonBase(const JsonBase& base) = default;
|
|
|
|
|
|
|
|
JsonType GetType() const;
|
|
|
|
|
2024-08-15 19:28:30 -07:00
|
|
|
virtual Str_8 ToStr(UInt_64 level, bool compact) const;
|
2024-02-05 22:25:30 -08:00
|
|
|
};
|
|
|
|
}
|