QJsonObject 类

QJsonObject 类封装了一个 JSON 对象。更多...

头文件 #include <QJsonObject>
CMakefind_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmakeQT += core

注意: 此类中的所有函数都是可重入的

公共类型

公共函数

QJsonObject()
QJsonObject(std::initializer_list<std::pair<QString, QJsonValue>> args)
QJsonObject(const QJsonObject &other)
QJsonObject(QJsonObject &&other)
~QJsonObject()
QJsonObject::iteratorbegin()
QJsonObject::const_iteratorbegin() const
QJsonObject::const_iteratorconstBegin() const
QJsonObject::const_iteratorconstEnd() const
QJsonObject::const_iteratorconstFind(const QString &key) const
QJsonObject::const_iteratorconstFind(QStringView key) const
QJsonObject::const_iteratorconstFind(QLatin1StringView key) const
boolcontains(const QString &key) const
boolcontains(QStringView key) const
boolcontains(QLatin1StringView key) const
qsizetypecount() const
boolempty() const
QJsonObject::iteratorend()
QJsonObject::const_iteratorend() const
QJsonObject::iteratorerase(QJsonObject::iterator it)
QJsonObject::iteratorfind(const QString &key)
QJsonObject::const_iteratorfind(const QString &key) const
QJsonObject::iteratorfind(QStringView key)
QJsonObject::iteratorfind(QLatin1StringView key)
QJsonObject::const_iteratorfind(QStringView key) const
QJsonObject::const_iteratorfind(QLatin1StringView key) const
QJsonObject::iteratorinsert(const QString &key, const QJsonValue &value)
QJsonObject::iteratorinsert(QStringView key, const QJsonValue &value)
QJsonObject::iteratorinsert(QLatin1StringView key, const QJsonValue &value)
boolisEmpty() const
QStringListkeys() const
qsizetypelength() const
voidremove(const QString &key)
voidremove(QStringView key)
voidremove(QLatin1StringView key)
qsizetypesize() const
voidswap(QJsonObject &other)
QJsonValuetake(const QString &key)
QJsonValuetake(QStringView key)
QJsonValuetake(QLatin1StringView key)
QVariantHashtoVariantHash() const
QVariantMaptoVariantMap() const
QJsonValuevalue(const QString &key) const
QJsonValuevalue(QStringView key) const
QJsonValuevalue(QLatin1StringView key) const
booloperator!=(const QJsonObject &other) const
QJsonObject &operator=(const QJsonObject &other)
QJsonObject &operator=(QJsonObject &&other)
booloperator==(const QJsonObject &other) const
QJsonValueoperator[](const QString &key) const
QJsonValueRefoperator[](const QString &key)
QJsonValueoperator[](QStringView key) const
QJsonValueoperator[](QLatin1StringView key) const
QJsonValueRefoperator[](QStringView key)
QJsonValueRefoperator[](QLatin1StringView key)

静态公共成员

QJsonObjectfromVariantHash(const QVariantHash &hash)
QJsonObjectfromVariantMap(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 迭代器。

另请参阅 begin() 和 constEnd().

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-样式迭代器

另请参阅 begin() 和 constEnd().

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

另请参阅 insert() 和 take

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 不包含在对象中,则返回的 QJsonValueQJsonValue::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

如果键不存在,则返回的 QJsonValueQJsonValue::Undefined

另请参阅QJsonValueQJsonValue::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() 的作用相同。

如果键不存在,则返回的 QJsonValueQJsonValue::Undefined

另请参阅value(),QJsonValueQJsonValue::isUndefined()。

QJsonValueRef QJsonObject::operator[](const QString &key)

返回对 key 的值的引用。如果对象中没有以 key 为键的值,则创建一个具有 QJsonValue::Null 值的新值,然后返回。

返回值是类型为 QJsonValueRef 的,它是 QJsonArrayQJsonObject 的辅助类。当你得到一个 QJsonValueRef 类型的对象时,你可以像使用 QJsonValue 的引用一样使用它。如果你对它进行赋值,赋值将应用于你从其中获取引用的 QJsonArrayQJsonObject 中的元素。

另请参阅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 在芬兰和/或世界其他地区的商标。所有其他商标均为各自所有者的财产。