QJsonArray 类

QJsonArray 类封装一个 JSON 数组。 更多...

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

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

公有类型

公有函数

QJsonArray()
QJsonArray(std::initializer_list<QJsonValue> args)
QJsonArray(const QJsonArray &other)
QJsonArray(QJsonArray &&other)
~QJsonArray()
voidappend(const QJsonValue &value)
QJsonValueat(qsizetype i) const
QJsonArray::iteratorbegin()
QJsonArray::const_iteratorbegin() const
QJsonArray::const_iteratorcbegin() const
QJsonArray::const_iteratorcend() const
QJsonArray::const_iteratorconstBegin() const
QJsonArray::const_iteratorconstEnd() const
boolcontains(const QJsonValue &value) const
qsizetypecount() const
boolempty() const
QJsonArray::iteratorend()
QJsonArray::const_iteratorend() const
QJsonArray::iteratorerase(QJsonArray::iterator it)
QJsonValuefirst() const
voidinsert(qsizetype i, const QJsonValue &value)
QJsonArray::iteratorinsert(QJsonArray::iterator before, const QJsonValue &value)
boolisEmpty() const
QJsonValuelast() const
voidpop_back()
voidpop_front()
voidprepend(const QJsonValue &value)
voidpush_back(const QJsonValue &value)
voidpush_front(const QJsonValue &value)
voidremoveAt(qsizetype i)
voidremoveFirst()
voidremoveLast()
voidreplace(qsizetype i, const QJsonValue &value)
qsizetypesize() const
voidswap(QJsonArray &other)
QJsonValuetakeAt(qsizetype i)
QVariantListtoVariantList() const
bool运算符!=(const QJsonArray &other) const
QJsonArray运算符+(const QJsonValue &value) const
QJsonArray &运算符+=(const QJsonValue &value)
QJsonArray &运算符<<(const QJsonValue &value)
QJsonArray &运算符=(const QJsonArray &other)
QJsonArray &运算符=(QJsonArray &&other)
bool运算符==(const QJsonArray &other) const
QJsonValueRef运算符[](qsizetype i)
QJsonValue运算符[](qsizetype i) const

静态公共成员

QJsonArrayfromStringList(const QStringList &list)
QJsonArrayfromVariantList(const QVariantList &list)

详细描述

JSON数组是一系列值。可以插入和删除数组中的 QJsonValue 来操作列表。

QJsonArray 可以转换为 QVariantList,也可以从 QVariantList 转换回来。您可以使用 size()(), insert()(), 和 removeAt()() 来查询条目数量,并使用标准 C++ 迭代模式遍历其内容。

QJsonArray 是一个隐式共享的类,只要未被修改,它就会与创建它的文档共享数据。

您可以通过 QJsonDocument 将数组转换为基于文本的 JSON 或从 JSON 转换回来。

另请参阅Qt 中的 JSON 支持保存和加载游戏

成员类型文档

QJsonArray::ConstIterator

Qt 样式的同义词,对应于 QJsonArray::const_iterator

QJsonArray::Iterator

Qt 样式的同义词,对应于 QJsonArray::iterator

QJsonArray::const_pointer

为 const QJsonValue *. 提供 STL 兼容性。

QJsonArray::const_reference

为 const QJsonValue & 取地址提供。为 STL 兼容性提供。

QJsonArray::difference_type

为 qsizetype 提供。为 STL 兼容性提供。

QJsonArray::pointer

为 QJsonValue * 提供。为 STL 兼容性提供。

QJsonArray::reference

为 QJsonValue & 提供。为 STL 兼容性提供。

QJsonArray::size_type

为 qsizetype 提供。为 STL 兼容性提供。

QJsonArray::value_type

为 QJsonValue 提供。为 STL 兼容性提供。

成员函数文档

QJsonArray::QJsonArray()

创建一个空数组。

QJsonArray::QJsonArray(std::initializer_list<QJsonValue> args)

args初始化列表创建数组。

QJsonArray可以以类似于JSON语句的方式构建,例如

QJsonArray array = { 1, 2.2, QString() };

[noexcept] QJsonArray::QJsonArray(const QJsonArray &other)

创建other的副本。

由于QJsonArray是隐式共享的,只要对象没有被修改,副本将是浅拷贝。

[noexcept] QJsonArray::QJsonArray(QJsonArray &&other)

other移动构造QJsonArray。

[noexcept] QJsonArray::~QJsonArray()

删除数组。

void QJsonArray::append(const QJsonValue &value)

value插入数组的末尾。

另请参阅prepend() 和 insert().

QJsonValue QJsonArray::at(qsizetype i) const

返回表示索引i的值的QJsonValue

如果i超出范围,则返回的QJsonValueUndefined

QJsonArray::iterator QJsonArray::begin()

返回一个指向数组第一个元素的STL风格迭代器

另请参阅constBegin() 和 end().

QJsonArray::const_iterator QJsonArray::begin() const

这是一个重载函数。

QJsonArray::const_iterator QJsonArray::cbegin() const

返回一个指向数组第一个元素的const STL风格迭代器

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

QJsonArray::const_iterator QJsonArray::cend() const

返回一个指向数组末尾之后的一个虚拟元素的const STL风格迭代器

另请参阅cbegin() 和 end().

QJsonArray::const_iterator QJsonArray::constBegin() const

返回一个指向数组第一个元素的const STL风格迭代器

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

QJsonArray::const_iterator QJsonArray::constEnd() const

返回一个指向数组末尾之后的一个虚拟元素的const STL风格迭代器

另请参阅constBegin() 和 end().

bool QJsonArray::contains(const QJsonValue &value) const

如果数组包含 value 的出现,返回 true,否则返回 false

另见 count().

qsizetype QJsonArray::count() const

size() 相同。

另见 size().

bool QJsonArray::empty() const

此函数提供用于 STL 兼容性。它与 isEmpty() 等效,如果数组为空,则返回 true

QJsonArray::iterator QJsonArray::end()

返回一个指向数组最后一个项目之后假设项目的 STL样式迭代器

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

QJsonArray::const_iterator QJsonArray::end() const

这是一个重载函数。

QJsonArray::iterator QJsonArray::erase(QJsonArray::iterator it)

删除由 it 指向的项目,并返回一个指向下一个项目的迭代器。

另见 removeAt().

QJsonValue QJsonArray::first() const

返回数组中存储的第一个值。

at(0) 相同。

另见 at().

[static] QJsonArray QJsonArray::fromStringList(const QStringList &list)

将字符串列表 list 转换为 QJsonArray

list 中的值将转换为 JSON 值。

另见 toVariantList() 和 QJsonValue::fromVariant().

[static] QJsonArray QJsonArray::fromVariantList(const QVariantList &list)

将变体列表 list 转换为 QJsonArray

list 中的 QVariant 值将转换为 JSON 值。

注意: QVariant 转换不是完全无损的。请参阅 QJsonValue::fromVariant() 中的文档以了解更多信息。

另见 toVariantList() 和 QJsonValue::fromVariant().

void QJsonArray::insert(qsizetype i, const QJsonValue &value)

在数组中索引位置 i 插入 value。如果 i0,则将值添加到数组的前面。如果 isize(),则将值添加到数组的末尾。

另见 append(),prepend(),replace() 和 removeAt().

QJsonArray::iterator QJsonArray::insert(QJsonArray::iterator before, const QJsonValue &value)

在由 before 指示的位置之前插入 value,并返回指向新插入项的迭代器。

另请参阅 erase() 和 insert()。

bool QJsonArray::isEmpty() const

如果对象为空,则返回 true。这与 size() == 0 相同。

另见 size().

QJsonValue QJsonArray::last() const

返回数组中存储的最后一个值。

等同于 at(size() - 1)

另见 at().

void QJsonArray::pop_back()

此函数是为了 STL 兼容性提供的。它与 removeLast() 等价。数组不能为空。如果数组可以为空,在调用此函数之前调用 isEmpty()。

void QJsonArray::pop_front()

此函数是为了 STL 兼容性提供的。它与 removeFirst() 等价。数组不能为空。如果数组可以为空,在调用此函数之前调用 isEmpty()。

void QJsonArray::prepend(const QJsonValue &value)

value 插入数组的开头。

这等效于 insert(0, value) 并将在数组开头插入 value

另请参阅 append() 和 insert()。

void QJsonArray::push_back(const QJsonValue &value)

此函数是为了 STL 兼容性提供的。它与 append(value) 等价并将 value 添加到数组中。

void QJsonArray::push_front(const QJsonValue &value)

此函数是为了 STL 兼容性提供的。它与 prepend(value) 等价并将 value 添加到数组中。

void QJsonArray::removeAt(qsizetype i)

删除索引位置 i 的值。i 必须是数组中的有效索引位置(即,0 <= i < size())。

另请参阅 insert() 和 replace()。

void QJsonArray::removeFirst()

从数组中删除第一个项目。调用此函数等于调用 removeAt(0)。数组不能为空。如果数组可以为空,在调用此函数之前调用 isEmpty()。

另请参阅 removeAt() 和 removeLast()。

void QJsonArray::removeLast()

删除数组的最后一个元素。调用此函数等价于调用removeAt(size() - 1)。数组不能为空。如果数组可以为空,请在调用此函数之前调用isEmpty()。

另请参阅removeAt()和removeFirst

void QJsonArray::replace(qsizetype i, const QJsonValue &value)

value替换索引位置i处的元素。i必须是数组中的有效索引位置(即,0 <= i < size())。

另请参阅operator[]()和removeAt

qsizetype QJsonArray::size() const

返回数组中存储的值的数量。

[noexcept] void QJsonArray::swap(QJsonArray &other)

与数组other交换。此操作非常快且永远不会失败。

QJsonValue QJsonArray::takeAt(qsizetype i)

删除索引位置为i的元素,并返回它。i必须是数组中的有效索引位置(即,0 <= i < size())。

如果您不使用返回值,则removeAt()更有效。

另见 removeAt().

QVariantList QJsonArray::toVariantList() const

将此对象转换为QVariantList

返回创建的列表。

bool QJsonArray::operator!=(const QJsonArray &other) const

如果此数组与other不相等,则返回true

QJsonArray QJsonArray::operator+(const QJsonValue &value) const

返回包含此数组中所有元素以及提供的value的数组。

另请参阅operator+=

QJsonArray &QJsonArray::operator+=(const QJsonValue &value)

value追加到数组中,并返回数组的引用。

另请参阅append()和operator<<

QJsonArray &QJsonArray::operator<<(const QJsonValue &value)

value追加到数组中,并返回数组的引用。

另请参阅operator+=append

[noexcept] QJsonArray &QJsonArray::operator=(const QJsonArray &other)

将“其他”赋值给此数组。

[noexcept] QJsonArray &QJsonArray::operator=(QJsonArray &&其他)

移动赋值“其他”到此数组。

bool QJsonArray::operator==(const QJsonArray &其他) const

如果此数组等于“其他”,则返回“true”。

QJsonValueRef QJsonArray::operator[](qsizetype i)

返回索引位置i的值作为可修改引用。 i必须是数组中的一个有效索引位置(即,0 <= i < size())。

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

另见 at().

QJsonValue QJsonArray::operator[](qsizetype i) const

这是一个重载函数。

at()相同。

© 2024 Qt公司。本文件内包含的文档贡献版权属于其各自的所有者。本文件提供的文档根据由自由软件基金会发布的GNU自由文档许可协议版本1.3的条款提供许可。Qt及其相关标志是芬兰及/或其他国家的Qt公司的商标。所有其他商标均为其各自所有者的财产。