QJsonArray Class
QJsonArray 类封装了一个 JSON 数组。更多
头文件: | #include <QJsonArray> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
- 所有成员(包括继承成员)的列表
- QJsonArray 是JSON Support in Qt和隐式共享类的一部分。
该类可等价比较。
该类可与QJsonValue 进行等价比较。
注意:该类中的所有函数都是可重入的。
公共类型
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 |
QJsonArray::iterator | insert(QJsonArray::iterator before, const QJsonValue &value) |
void | insert(qsizetype i, 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 |
QJsonArray | operator+(const QJsonValue &value) const |
QJsonArray & | operator+=(const QJsonValue &value) |
QJsonArray & | operator<<(const QJsonValue &value) |
QJsonArray & | operator=(QJsonArray &&other) |
QJsonArray & | operator=(const QJsonArray &other) |
QJsonValueRef | operator[](qsizetype i) |
QJsonValue | operator[](qsizetype i) const |
静态公共成员
QJsonArray | fromStringList(const QStringList &list) |
QJsonArray | fromVariantList(const QVariantList &list) |
相关非成员
bool | operator!=(const QJsonArray &lhs, const QJsonArray &rhs) |
bool | operator==(const QJsonArray &lhs, const QJsonArray &rhs) |
详细说明
JSON 数组是一个值列表。可以通过插入或移除数组中的QJsonValue's 来操作该列表。
QJsonArray 可以转换为QVariantList ,也可以从 转换为 QJsonArray。您可以通过size()、insert() 和removeAt() 条目查询条目的数量,并使用标准 C++ 迭代模式遍历其内容。
QJsonArray 是一个隐式共享类,只要文档未被修改,它就会与创建它的文档共享数据。
您可以通过QJsonDocument 将数组转换为基于文本的 JSON。
另请参阅 《Qt 中的 JSON 支持》和《保存和加载游戏》。
成员类型文档
QJsonArray::ConstIterator
QJsonArray::const_iterator 的 Qt-style 同义词。
QJsonArray::Iterator
QJsonArray::iterator 的 Qt-style 同义词。
QJsonArray::const_pointer
用于 constQJsonValue * 的类型定义。为与 STL 兼容而提供。
QJsonArray::const_reference
用于 constQJsonValue & 的类型定义。为与 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)
Move-从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
返回指向数组中第一个项目的 ConstSTL 样式迭代器。
QJsonArray::const_iterator QJsonArray::cend() const
返回一个常STL 样式的迭代器,指向数组中最后一个项目之后的虚数项目。
QJsonArray::const_iterator QJsonArray::constBegin() const
返回指向数组中第一个项目的 ConstSTL 样式迭代器。
QJsonArray::const_iterator QJsonArray::constEnd() 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()。
QJsonArray::iterator QJsonArray::insert(QJsonArray::iterator before, const QJsonValue &value)
将value 插入before 指向的位置之前,并返回指向新插入项的迭代器。
另请参阅 erase() 和 insert()。
void QJsonArray::insert(qsizetype i, const QJsonValue &value)
将value 插入数组中的索引位置i 。如果i 是0
,该值将被预输入数组。如果i 是size() ,该值将被添加到数组中。
另请参阅 append()、prepend()、replace() 和removeAt()。
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)
用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 。
返回创建的地图。
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=(QJsonArray &&other)
Move-assignsother 到该数组。
[noexcept]
QJsonArray &QJsonArray::operator=(const QJsonArray &other)
将other 赋值给该数组。
QJsonValueRef QJsonArray::operator[](qsizetype i)
i i 必须是数组中有效的索引位置(即 )。0 <= i < size()
返回值的类型是QJsonValueRef ,它是QJsonArray 和QJsonObject 的辅助类。当您获得QJsonValueRef 类型的对象时,可以将其作为QJsonValue 的引用来使用。如果对其进行赋值,赋值将应用于QJsonObject 的QJsonArray 中的字符,而您正是从 中获得该引用的。
另请参阅 at() 。
QJsonValue QJsonArray::operator[](qsizetype i) const
这是一个重载函数。
与at() 相同。
相关非会员
[noexcept]
bool operator!=(const QJsonArray &lhs, const QJsonArray &rhs)
如果lhs 数组不等于rhs ,则返回true
,否则返回false
。
[noexcept]
bool operator==(const QJsonArray &lhs, const QJsonArray &rhs)
如果lhs 数组等于rhs ,则返回true
,否则返回false
。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.