JsonConfig Class
class Visindigo::Utility::JsonConfigVIJsonConfig定义了对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支持的对象,可参见 QJsonObject,QJsonValue等内容。
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 开始支持。