Yayin Story Studio logo Yayin Story Studio 项目文档
回到主页 用户手册

JsonConfig Class

class Visindigo::Utility::JsonConfig

VIJsonConfig定义了对Json配置的操作。. 详情...

头文件: #include <JsonConfig>
自以下版本: Visindigo 0.10.0

公开成员函数

(自 Visindigo 0.13.0 引入) JsonConfig()
(自 Visindigo 0.13.0 引入) JsonConfig(const QJsonDocument &json)
(自 Visindigo 0.13.0 引入) JsonConfig(const QString &jsonStr)
(自 Visindigo 0.13.0 引入) JsonConfig(const Visindigo::Utility::JsonConfig &other)
(自 Visindigo 0.13.0 引入) JsonConfig(Visindigo::Utility::JsonConfig &&other)
(自 Visindigo 0.13.0 引入) ~JsonConfig()
(自 Visindigo 0.13.0 引入) bool contains(const QString &key)
(自 Visindigo 0.13.0 引入) QList<Visindigo::Utility::JsonConfig> getArray(const QString &key = "", bool *ok = nullptr)
(自 Visindigo 0.13.0 引入) bool getBool(const QString &key = "", bool *ok = nullptr)
(自 Visindigo 0.13.0 引入) double getDouble(const QString &key = "", bool *ok = nullptr)
(自 Visindigo 0.13.0 引入) qint64 getInt(const QString &key = "", bool *ok = nullptr)
(自 Visindigo 0.13.0 引入) Visindigo::Utility::JsonConfig getObject(const QString &key = "", bool *ok = nullptr)
(自 Visindigo 0.13.0 引入) QString getString(const QString &key = "", bool *ok = nullptr)
(自 Visindigo 0.13.0 引入) QStringList getStringList(const QString &key = "", bool *ok = nullptr)
(自 Visindigo 0.13.0 引入) QJsonValue getValue(const QString &key = "", bool *ok = nullptr)
(自 Visindigo 0.13.0 引入) bool isArray(const QString &key = "")
(自 Visindigo 0.13.0 引入) bool isBool(const QString &key = "")
(自 Visindigo 0.13.0 引入) bool isDouble(const QString &key = "")
(自 Visindigo 0.13.0 引入) bool isEmpty(const QString &key = "")
(自 Visindigo 0.13.0 引入) bool isInt(const QString &key = "")
(自 Visindigo 0.13.0 引入) bool isNull(const QString &key = "")
(自 Visindigo 0.13.0 引入) bool isObject(const QString &key = "")
(自 Visindigo 0.13.0 引入) bool isString(const QString &key = "")
(自 Visindigo 0.13.0 引入) QStringList keys(const QString &key = "")
(自 Visindigo 0.13.0 引入) QJsonParseError parse(const QString &jsonStr)
(自 Visindigo 0.13.0 引入) void setArray(const QString &key, const QList<Visindigo::Utility::JsonConfig> &value)
(自 Visindigo 0.13.0 引入) void setArray(const QString &key, const QStringList &value)
(自 Visindigo 0.13.0 引入) void setBool(const QString &key, bool value)
(自 Visindigo 0.13.0 引入) void setDouble(const QString &key, double value)
(自 Visindigo 0.13.0 引入) void setInt(const QString &key, qint64 value)
(自 Visindigo 0.13.0 引入) void setObject(const QString &key, const Visindigo::Utility::JsonConfig &value)
(自 Visindigo 0.13.0 引入) void setString(const QString &key, const QString &value)
(自 Visindigo 0.13.0 引入) void setValue(const QString &key, const QJsonValue &value)
(自 Visindigo 0.13.0 引入) QString toString(int format)
(自 Visindigo 0.13.0 引入) Visindigo::Utility::JsonConfig &operator=(Visindigo::Utility::JsonConfig &&other)
(自 Visindigo 0.13.0 引入) Visindigo::Utility::JsonConfig &operator=(const Visindigo::Utility::JsonConfig &other)
(自 Visindigo 0.13.0 引入) Visindigo::Utility::JsonValueRef operator[](const QString &key)

详细说明

VIJsonConfig提供对Json配置的读写操作,可以通过此类构建基于Json的配置。一般来说 不需要直接使用此类,请改用VIJsonDocument。VIJsonDocument提供从文件直接读写Json, 以及允许存在默认文档的配置读写功能。VIJsonConfig使用大量QtJson支持的对象,可参见 QJsonObjectQJsonValue等内容。

VIJsonConfig不与文件直接读写挂钩,使用VIJsonConfig时,可以使用重载为 QString的构造函数(不建议),或者使用parse()函数将Json字符串加载到此类中。

与之同理,可以使用toString()函数将Json对象转换为字符串。

不建议使用具有QString的构造函数,是因为此构造函数不会提示Json字符串的解析错误, 且VIJsonConfig没有提供中途获取解析错误的方法,因此仍然建议只用parse()函数。

请注意,在对VIJsonConfig进行设置之后,需要自行使用toString()将其 保存到外部,否则设置的内容将会丢失。这同样发生在使用operator=()赋值操作符 时。

另请参阅 Visindigo::Utility::JsonDocument, QJsonObject, and QJsonValue.

成员函数文档

[since Visindigo 0.13.0] JsonConfig::JsonConfig()

VIJsonConfig的默认构造函数

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] JsonConfig::JsonConfig(const QJsonDocument &json)

json 为Json对象。 VIJsonConfig的构造函数

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] JsonConfig::JsonConfig(const QString &jsonStr)

jsonStr 为Json字符串。 VIJsonConfig的构造函数

这个 function 从 Visindigo 0.13.0 开始支持。

[noexcept, since Visindigo 0.13.0] JsonConfig::JsonConfig(const Visindigo::Utility::JsonConfig &other)

other 为VIJsonConfig的另一个实例。 VIJsonConfig的拷贝构造函数

这个 function 从 Visindigo 0.13.0 开始支持。

[noexcept, since Visindigo 0.13.0] JsonConfig::JsonConfig(Visindigo::Utility::JsonConfig &&other)

other 为VIJsonConfig的另一个实例。 VIJsonConfig的移动构造函数

这个 function 从 Visindigo 0.13.0 开始支持。

[noexcept, since Visindigo 0.13.0] JsonConfig::~JsonConfig()

VIJsonConfig的析构函数

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] bool JsonConfig::contains(const QString &key)

key 为键。 判断Json对象是否包含指定的键。

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] QList<Visindigo::Utility::JsonConfig> JsonConfig::getArray(const QString &key = "", bool *ok = nullptr)

key 为键。 获取Json对象的数组。

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] bool JsonConfig::getBool(const QString &key = "", bool *ok = nullptr)

key 为键。 获取Json对象的布尔值。

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] double JsonConfig::getDouble(const QString &key = "", bool *ok = nullptr)

key 为键。 获取Json对象的浮点数值。

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] qint64 JsonConfig::getInt(const QString &key = "", bool *ok = nullptr)

key 为键。 获取Json对象的整数值。

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] Visindigo::Utility::JsonConfig JsonConfig::getObject(const QString &key = "", bool *ok = nullptr)

key 为键。 获取Json对象的子对象。

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] QString JsonConfig::getString(const QString &key = "", bool *ok = nullptr)

key 为键。 获取Json对象的字符串值。

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] QStringList JsonConfig::getStringList(const QString &key = "", bool *ok = nullptr)

key 为键。 获取Json对象的字符串列表。

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] QJsonValue JsonConfig::getValue(const QString &key = "", bool *ok = nullptr)

key 为键。 获取Json对象的值。

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] bool JsonConfig::isArray(const QString &key = "")

key 为键。 判断Json对象是否为数组。

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] bool JsonConfig::isBool(const QString &key = "")

key 为键。 判断Json对象是否为布尔值。

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] bool JsonConfig::isDouble(const QString &key = "")

key 为键。 判断Json对象是否为浮点数。

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] bool JsonConfig::isEmpty(const QString &key = "")

key 为键。 判断Json对象是否为空。

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] bool JsonConfig::isInt(const QString &key = "")

key 为键。 判断Json对象是否为整数。

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] bool JsonConfig::isNull(const QString &key = "")

key 为键。 判断Json对象是否为空。

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] bool JsonConfig::isObject(const QString &key = "")

key 为键。 判断Json对象是否为对象。

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] bool JsonConfig::isString(const QString &key = "")

key 为键。 判断Json对象是否为字符串。

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] QStringList JsonConfig::keys(const QString &key = "")

获取Json对象的所有键。(不包括子对象)

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] QJsonParseError JsonConfig::parse(const QString &jsonStr)

json 为Json对象。 解析Json字符串。

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] void JsonConfig::setArray(const QString &key, const QList<Visindigo::Utility::JsonConfig> &value)

key 为键。 value 为数组。 设置Json对象的数组。

这个 function 从 Visindigo 0.13.0 开始支持。

另请参阅 isArray().

[since Visindigo 0.13.0] void JsonConfig::setArray(const QString &key, const QStringList &value)

key 为键。 value 为字符串列表。 设置Json对象的字符串列表。

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] void JsonConfig::setBool(const QString &key, bool value)

key 为键。 value 为布尔值。 设置Json对象的布尔值。

这个 function 从 Visindigo 0.13.0 开始支持。

另请参阅 isBool().

[since Visindigo 0.13.0] void JsonConfig::setDouble(const QString &key, double value)

key 为键。 value 为浮点数值。 设置Json对象的浮点数值。

这个 function 从 Visindigo 0.13.0 开始支持。

另请参阅 isDouble().

[since Visindigo 0.13.0] void JsonConfig::setInt(const QString &key, qint64 value)

key 为键。 value 为整数值。 设置Json对象的整数值。

这个 function 从 Visindigo 0.13.0 开始支持。

另请参阅 isInt().

[since Visindigo 0.13.0] void JsonConfig::setObject(const QString &key, const Visindigo::Utility::JsonConfig &value)

key 为键。 value 为子对象。 设置Json对象的子对象。

这个 function 从 Visindigo 0.13.0 开始支持。

另请参阅 isObject().

[since Visindigo 0.13.0] void JsonConfig::setString(const QString &key, const QString &value)

key 为键。 value 为字符串值。 设置Json对象的字符串值。

这个 function 从 Visindigo 0.13.0 开始支持。

另请参阅 isString().

[since Visindigo 0.13.0] void JsonConfig::setValue(const QString &key, const QJsonValue &value)

key 为键。 value 为值。 设置Json对象的值。

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] QString JsonConfig::toString(int format)

获取Json对象的字符串。

这个 function 从 Visindigo 0.13.0 开始支持。

[noexcept, since Visindigo 0.13.0] Visindigo::Utility::JsonConfig &JsonConfig::operator=(Visindigo::Utility::JsonConfig &&other)

other 为VIJsonConfig的另一个实例。 VIJsonConfig的移动操作符

这个 function 从 Visindigo 0.13.0 开始支持。

[noexcept, since Visindigo 0.13.0] Visindigo::Utility::JsonConfig &JsonConfig::operator=(const Visindigo::Utility::JsonConfig &other)

other 为VIJsonConfig的另一个实例。 VIJsonConfig的赋值操作符

这个 function 从 Visindigo 0.13.0 开始支持。

[since Visindigo 0.13.0] Visindigo::Utility::JsonValueRef JsonConfig::operator[](const QString &key)

key 为键。 一个重载操作符,旨在以类似下标访问的方式访问Json对象,返回一个VIJsonValueRef实例。 此实例支持直接赋值,也可以使用指针操作符访问QJsonValue。此实例还重载了到QJsonValue的 隐式转换,可以直接将其赋值给QJsonValue

这个 function 从 Visindigo 0.13.0 开始支持。