QJsonObject 类
QJsonObject 类封装了一个 JSON 对象。更多...
头文件 | #include <QJsonObject> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake | QT += core |
- 成员列表,包括继承自父类的成员
- QJsonObject 是 Qt JSON 支持和隐式共享类的组成部分。JSON 在 Qt 中的支持 和 隐式共享类。
注意: 此类中的所有函数都是可重入的。
公共类型
公共函数
QJsonObject() | |
QJsonObject(std::initializer_list<std::pair<QString, QJsonValue>> args) | |
QJsonObject(const QJsonObject &other) | |
QJsonObject(QJsonObject &&other) | |
~QJsonObject() | |
QJsonObject::iterator | begin() |
QJsonObject::const_iterator | begin() const |
QJsonObject::const_iterator | constBegin() const |
QJsonObject::const_iterator | constEnd() const |
QJsonObject::const_iterator | constFind(const QString &key) const |
QJsonObject::const_iterator | constFind(QStringView key) const |
QJsonObject::const_iterator | constFind(QLatin1StringView key) const |
bool | contains(const QString &key) const |
bool | contains(QStringView key) const |
bool | contains(QLatin1StringView key) const |
qsizetype | count() const |
bool | empty() const |
QJsonObject::iterator | end() |
QJsonObject::const_iterator | end() const |
QJsonObject::iterator | erase(QJsonObject::iterator it) |
QJsonObject::iterator | find(const QString &key) |
QJsonObject::const_iterator | find(const QString &key) const |
QJsonObject::iterator | find(QStringView key) |
QJsonObject::iterator | find(QLatin1StringView key) |
QJsonObject::const_iterator | find(QStringView key) const |
QJsonObject::const_iterator | find(QLatin1StringView key) const |
QJsonObject::iterator | insert(const QString &key, const QJsonValue &value) |
QJsonObject::iterator | insert(QStringView key, const QJsonValue &value) |
QJsonObject::iterator | insert(QLatin1StringView key, const QJsonValue &value) |
bool | isEmpty() const |
QStringList | keys() const |
qsizetype | length() const |
void | remove(const QString &key) |
void | remove(QStringView key) |
void | remove(QLatin1StringView key) |
qsizetype | size() const |
void | swap(QJsonObject &other) |
QJsonValue | take(const QString &key) |
QJsonValue | take(QStringView key) |
QJsonValue | take(QLatin1StringView key) |
QVariantHash | toVariantHash() const |
QVariantMap | toVariantMap() const |
QJsonValue | value(const QString &key) const |
QJsonValue | value(QStringView key) const |
QJsonValue | value(QLatin1StringView key) const |
bool | operator!=(const QJsonObject &other) const |
QJsonObject & | operator=(const QJsonObject &other) |
QJsonObject & | operator=(QJsonObject &&other) |
bool | operator==(const QJsonObject &other) const |
QJsonValue | operator[](const QString &key) const |
QJsonValueRef | operator[](const QString &key) |
QJsonValue | operator[](QStringView key) const |
QJsonValue | operator[](QLatin1StringView key) const |
QJsonValueRef | operator[](QStringView key) |
QJsonValueRef | operator[](QLatin1StringView key) |
静态公共成员
QJsonObject | fromVariantHash(const QVariantHash &hash) |
QJsonObject | fromVariantMap(const QVariantMap &map) |
详细描述
JSON对象是由键值对组成的列表,其中键是唯一的字符串,值由QJsonValue表示。
可以转换QJsonObject到和自QVariantMap。您可以使用size()、insert()和remove()方法查询其key-value对的数量,并使用标准C++迭代器模式遍历其内容。
QJsonObject是一个隐式共享类,它在未被修改的情况下始终与创建它的文档共享数据。
您可以通过QJsonDocument将对象转换为基于文本的JSON并通过其转换回去。
另请参阅Qt中的JSON支持和保存和加载一个游戏。
成员类型文档
QJsonObject::ConstIterator
Qt样式的同义词QJsonObject::const_iterator。
QJsonObject::Iterator
Qt样式的同义词QJsonObject::iterator。
QJsonObject::key_type
为QString提供的同义词。提供以支持STL兼容性。
QJsonObject::mapped_type
为QJsonValue提供的同义词。提供以支持STL兼容性。
QJsonObject::size_type
为qsizetype提供的同义词。提供以支持STL兼容性。
成员函数文档
QJsonObject::QJsonObject()
构造一个空的 JSON 对象。
另请参阅 isEmpty().
QJsonObject::QJsonObject(std::initializer_list<std::pair<QString, QJsonValue>> args)
从 args 初始化列表中初始化 QJsonObject 实例。例如
QJsonObject object { {"property1", 1}, {"property2", 2} };
[noexcept]
QJsonObject::QJsonObject(const QJsonObject &other)
创建 other 的一个副本。
由于 QJsonObject 是隐式共享的,只要对象未进行修改,副本是浅拷贝。
[noexcept]
QJsonObject::QJsonObject(QJsonObject &&other)
从 other 迁移构造 QJsonObject。
[noexcept]
QJsonObject::~QJsonObject()
销毁对象。
QJsonObject::iterator QJsonObject::begin()
返回指向对象中第一个项目的 STL-style 迭代器。
另请参阅 constBegin() 和 end().
QJsonObject::const_iterator QJsonObject::begin() const
这是一个重载函数。
QJsonObject::const_iterator QJsonObject::constBegin() const
返回指向对象中第一个项目的 const STL-style 迭代器。
QJsonObject::const_iterator QJsonObject::constEnd() const
返回指向对象中最后一个项目的虚构项之后的 const STL-style 迭代器。
另请参阅 constBegin() 和 end().
QJsonObject::const_iterator QJsonObject::constFind(const QString &key) const
返回指向键为 key 的项目的 const 迭代器。
如果映射中没有键为 key 的项目,则函数返回 constEnd().
QJsonObject::const_iterator QJsonObject::constFind(QStringView key) const
这是一个重载函数。
QJsonObject::const_iterator QJsonObject::constFind(QLatin1StringView key) const
这是一个重载函数。
bool QJsonObject::contains(const QString &key) const
如果对象包含键 key,则返回 true
。
另请参阅 insert(),remove() 和 take().
bool QJsonObject::contains(QStringView key) const
这是一个重载函数。
bool QJsonObject::contains(QLatin1StringView key) const
这是一个重载函数。
qsizetype QJsonObject::count() const
这是一个重载函数。
与 size() 相同。
bool QJsonObject::empty() const
此函数提供用于 STL 兼容性。它等价于 isEmpty(),如果对象为空则返回 true
,否则返回 false
。
QJsonObject::iterator QJsonObject::end()
返回一个指向对象中最后一个项目的假设项目之后的 STL-样式迭代器。
QJsonObject::const_iterator QJsonObject::end() const
这是一个重载函数。
QJsonObject::iterator QJsonObject::erase(QJsonObject::iterator it)
移除迭代器 it 指向的 (键,值) 对,并返回指向映射中下一个项目的迭代器。
另见 remove()。
QJsonObject::iterator QJsonObject::find(const QString &key)
返回指向具有键 key 的映射中项目的迭代器。
如果映射不包含具有键 key 的项目,该函数返回 end()。
QJsonObject::const_iterator QJsonObject::find(const QString &key) const
这是一个重载函数。
QJsonObject::iterator QJsonObject::find(QStringView key)
这是一个重载函数。
QJsonObject::iterator QJsonObject::find(QLatin1StringView key)
这是一个重载函数。
QJsonObject::const_iterator QJsonObject::find(QStringView key) const
这是一个重载函数。
QJsonObject::const_iterator QJsonObject::find(QLatin1StringView key) const
这是一个重载函数。
[静态]
QJsonObject QJsonObject::fromVariantHash(const QVariantHash &hash)
将变量散列 hash 转换为 QJsonObject。
hash 中的键将用作 JSON 对象中的键,并且 QVariant 值将转换为 JSON 值。
注意:从QVariant的转换不是完全无损的。有关更多信息,请参阅QJsonValue::fromVariant()文档。
另请参阅 fromVariantMap(),toVariantHash,和QJsonValue::fromVariant。
[静态]
QJsonObject QJsonObject::fromVariantMap(const QVariantMap &map)
将变体映射map转换为QJsonObject。
映射中的键将作为JSON对象的键,而QVariant值将转换为JSON值。
注意:从QVariant的转换不是完全无损的。有关更多信息,请参阅QJsonValue::fromVariant()文档。
另请参阅 fromVariantHash(),toVariantMap(),和QJsonValue::fromVariant。
QJsonObject::iterator QJsonObject::insert(const QString &key, const QJsonValue &value)
插入一个新项,键为key,值为value。
如果已存在具有键key的项,则替换该项的值为value。
返回指向插入项的迭代器。
如果值是QJsonValue::Undefined,则会导致该键从对象中删除。返回的迭代器将指向end。
另请参阅 remove(),take(),QJsonObject::iterator,和end。
QJsonObject::iterator QJsonObject::insert(QStringView key, const QJsonValue &value)
这是一个重载函数。
QJsonObject::iterator QJsonObject::insert(QLatin1StringView key, const QJsonValue &value)
这是一个重载函数。
bool QJsonObject::isEmpty() const
如果对象为空,则返回true
。这与size() == 0相同。
另请参阅 size。
QStringList QJsonObject::keys() const
返回对象中所有键的列表。
列表按字母顺序排序。
qsizetype QJsonObject::length() const
这是一个重载函数。
与 size() 相同。
void QJsonObject::remove(const QString &key)
从对象中删除key。
void QJsonObject::remove(QStringView key)
这是一个重载函数。
void QJsonObject::remove(QLatin1StringView key)
这是一个重载函数。
qsizetype QJsonObject::size() const
返回对象中存储的 (键,值) 对的数目。
[noexcept]
void QJsonObject::swap(QJsonObject &other)
与对象 other 交换。此操作非常快且永远不会失败。
QJsonValue QJsonObject::take(const QString &key)
从对象中删除key。
返回一个包含由 key 引用的值的 QJsonValue。如果 key 不包含在对象中,则返回的 QJsonValue 是 QJsonValue::Undefined。
另请参阅insert(),remove() 和 QJsonValue。
QJsonValue QJsonObject::take(QStringView key)
这是一个重载函数。
QJsonValue QJsonObject::take(QLatin1StringView key)
这是一个重载函数。
QVariantHash QJsonObject::toVariantHash() const
将此对象转换为 QVariantHash。
返回创建的哈希。
另请参阅toVariantMap。
QVariantMap QJsonObject::toVariantMap() const
将此对象转换为 QVariantMap。
返回创建的映射。
另请参阅toVariantHash。
QJsonValue QJsonObject::value(const QString &key) const
返回表示键 key 的值的 QJsonValue。
如果键不存在,则返回的 QJsonValue 是 QJsonValue::Undefined。
另请参阅QJsonValue 和 QJsonValue::isUndefined。
QJsonValue QJsonObject::value(QStringView key) const
这是一个重载函数。
QJsonValue QJsonObject::value(QLatin1StringView key) const
这是一个重载函数。
bool QJsonObject::operator!=(const QJsonObject &other) const
如果 other 与此对象不相等,则返回 true
。
[noexcept]
QJsonObject &QJsonObject::operator=(const QJsonObject &other)
将 other 赋予此对象。
[noexcept]
QJsonObject &QJsonObject::operator=(QJsonObject &&other)
将 other 移动赋值到此对象。
bool QJsonObject::operator==(const QJsonObject &other) const
如果 other 与此对象相等,则返回 true
。
QJsonValue QJsonObject::operator[](const QString &key) const
返回表示键 key 的值的 QJsonValue。
这与 value() 的作用相同。
如果键不存在,则返回的 QJsonValue 是 QJsonValue::Undefined。
另请参阅value(),QJsonValue 和 QJsonValue::isUndefined()。
QJsonValueRef QJsonObject::operator[](const QString &key)
返回对 key 的值的引用。如果对象中没有以 key 为键的值,则创建一个具有 QJsonValue::Null 值的新值,然后返回。
返回值是类型为 QJsonValueRef 的,它是 QJsonArray 和 QJsonObject 的辅助类。当你得到一个 QJsonValueRef 类型的对象时,你可以像使用 QJsonValue 的引用一样使用它。如果你对它进行赋值,赋值将应用于你从其中获取引用的 QJsonArray 或 QJsonObject 中的元素。
另请参阅value()。
QJsonValue QJsonObject::operator[](QStringView key) const
这是一个重载函数。
QJsonValue QJsonObject::operator[](QLatin1StringView key) const
这是一个重载函数。
QJsonValueRef QJsonObject::operator[](QStringView key)
这是一个重载函数。
QJsonValueRef QJsonObject::operator[](QLatin1StringView key)
这是一个重载函数。
© 2024 The Qt Company Ltd. 本文档中包含的贡献的版权属于各自的拥有者。本提供的文档是根据自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款许可的。Qt 及相关标志是 The Qt Company Ltd 在芬兰和/或世界其他地区的商标。所有其他商标均为各自所有者的财产。