JsonValue struct

Public types

using ObjectType = std::vector<std::pair<std::string, JsonValue>>
using ArrayType = std::vector<JsonValue>

Public static functions

static auto Null() -> JsonValue
static auto Bool(bool Val) -> JsonValue
static auto Number(double Val) -> JsonValue
static auto String(std::string Val) -> JsonValue
static auto Array() -> JsonValue
static auto Object() -> JsonValue

Public functions

auto Type() const -> JsonType
auto IsNull() const -> bool
auto IsBool() const -> bool
auto IsNumber() const -> bool
auto IsString() const -> bool
auto IsArray() const -> bool
auto IsObject() const -> bool
auto AsBool(bool Default = false) const -> bool
auto AsNumber(double Default = 0.0) const -> double
auto AsFloat(float Default = 0.0f) const -> float
auto AsInt(int Default = 0) const -> int
auto AsString() const -> const std::string&
auto AsArray() const -> const ArrayType&
auto AsObject() const -> const ObjectType&
auto GetArray() -> ArrayType&
auto GetObject() -> ObjectType&
auto Find(std::string_view Key) const -> const JsonValue*
auto Find(std::string_view Key) -> JsonValue*
auto operator[](const std::string& Key) -> JsonValue&

Public variables

std::variant<std::monostate, bool, double, std::string, ArrayType, ObjectType> Data