QJsonArray 类
QJsonArray 类封装一个 JSON 数组。 更多...
头文件 | #include <QJsonArray> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake | QT += core |
- 所有成员列表,包括继承成员
- QJsonArray 是 Qt 中的 JSON 支持(JSON Support in Qt)和隐式共享类(Implicitly Shared Classes)的一部分。
注意: 此类中的所有函数都是可重入的(reentrant)。
公有类型
class | const_iterator |
class | iterator |
ConstIterator | |
Iterator | |
const_pointer | |
const_reference | |
difference_type | |
pointer | |
reference | |
size_type | |
value_type |
公有函数
QJsonArray() | |
QJsonArray(std::initializer_list<QJsonValue> args) | |
QJsonArray(const QJsonArray &other) | |
QJsonArray(QJsonArray &&other) | |
~QJsonArray() | |
void | append(const QJsonValue &value) |
QJsonValue | at(qsizetype i) const |
QJsonArray::iterator | begin() |
QJsonArray::const_iterator | begin() const |
QJsonArray::const_iterator | cbegin() const |
QJsonArray::const_iterator | cend() const |
QJsonArray::const_iterator | constBegin() const |
QJsonArray::const_iterator | constEnd() const |
bool | contains(const QJsonValue &value) const |
qsizetype | count() const |
bool | empty() const |
QJsonArray::iterator | end() |
QJsonArray::const_iterator | end() const |
QJsonArray::iterator | erase(QJsonArray::iterator it) |
QJsonValue | first() const |
void | insert(qsizetype i, const QJsonValue &value) |
QJsonArray::iterator | insert(QJsonArray::iterator before, const QJsonValue &value) |
bool | isEmpty() const |
QJsonValue | last() const |
void | pop_back() |
void | pop_front() |
void | prepend(const QJsonValue &value) |
void | push_back(const QJsonValue &value) |
void | push_front(const QJsonValue &value) |
void | removeAt(qsizetype i) |
void | removeFirst() |
void | removeLast() |
void | replace(qsizetype i, const QJsonValue &value) |
qsizetype | size() const |
void | swap(QJsonArray &other) |
QJsonValue | takeAt(qsizetype i) |
QVariantList | toVariantList() 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 |
静态公共成员
QJsonArray | fromStringList(const QStringList &list) |
QJsonArray | fromVariantList(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插入数组的末尾。
QJsonValue QJsonArray::at(qsizetype i) const
返回表示索引i的值的QJsonValue。
如果i超出范围,则返回的QJsonValue是Undefined
。
QJsonArray::iterator QJsonArray::begin()
返回一个指向数组第一个元素的STL风格迭代器。
另请参阅constBegin() 和 end().
QJsonArray::const_iterator QJsonArray::begin() const
这是一个重载函数。
QJsonArray::const_iterator QJsonArray::cbegin() const
返回一个指向数组第一个元素的const STL风格迭代器。
QJsonArray::const_iterator QJsonArray::cend() const
返回一个指向数组末尾之后的一个虚拟元素的const STL风格迭代器。
QJsonArray::const_iterator QJsonArray::constBegin() const
返回一个指向数组第一个元素的const STL风格迭代器。
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样式迭代器。
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。如果 i 是 0
,则将值添加到数组的前面。如果 i 是 size(),则将值添加到数组的末尾。
另见 append(),prepend(),replace() 和 removeAt().
QJsonArray::iterator QJsonArray::insert(QJsonArray::iterator before, const QJsonValue &value)
在由 before 指示的位置之前插入 value,并返回指向新插入项的迭代器。
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。
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()
)。
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)
用0 <= i < size()
)。
另请参阅operator[]()和removeAt。
qsizetype QJsonArray::size() const
返回数组中存储的值的数量。
[noexcept]
void QJsonArray::swap(QJsonArray &other)
与数组other交换。此操作非常快且永远不会失败。
QJsonValue QJsonArray::takeAt(qsizetype 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
返回包含此数组中所有元素以及提供的
另请参阅operator+=。
QJsonArray &QJsonArray::operator+=(const QJsonValue &value)
将
另请参阅append()和operator<<。
QJsonArray &QJsonArray::operator<<(const QJsonValue &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类型,它是QJsonArray和QJsonObject的辅助类。当您获得一个类型为QJsonValueRef的对象时,您可以使用它就像它是QJsonValue的引用一样。如果您对其赋值,赋值将应用于从QJsonArray或QJsonObject中获取引用的字符。
另见 at().
QJsonValue QJsonArray::operator[](qsizetype i) const
这是一个重载函数。
与at()相同。
© 2024 Qt公司。本文件内包含的文档贡献版权属于其各自的所有者。本文件提供的文档根据由自由软件基金会发布的GNU自由文档许可协议版本1.3的条款提供许可。Qt及其相关标志是芬兰及/或其他国家的Qt公司的商标。所有其他商标均为其各自所有者的财产。