Qt:QJsonArray
阅读原文时间:2023年07月09日阅读:3

QJsonArray中存储了一系列的QJsonValue。可以向其中插入、删除QJsonValue。

一个QJsonArray可以与QVariantList互相转换。可以通过size()访问其中的元素数,insert()、removeAt()移除其中的元素,并通过标准C++迭代模式进行迭代。

QJsonArray是个隐含的共享类,它与创建该类的Json文档共享数据,也就是说修改数据时它们会同时改变。

可以从JSON中生成QJsonArray或者把QJsonArray转化为JSON。

Header

#include

qmake

QT += core

Since

Qt 5.0

QJsonArray(QJsonArray other)

获得另一个QJsonArray的副本

QJsonArray(QJsonArray &other)

从另一个QJsonArray构造

QJsonArray(List args)

从一个List中构造QJsonArray

QJsonArray sedId = {1,2,3,4,5,6};

QJsonArray()

构造一个空的QJsonArray

QJsonArray

fromStringList(QStringList list)

从一个QStringList构造QJsonArray

List中的value将被转换为JSON values

QJsonArray

fromVariantList(QVariantList list)

从一个QVariantList构造QJSonArray

List中的value将被转换为JSON values

QJsonArray &

bool

QJsonArray

QJsonArray &

QJsonArray &

bool

QJsonValue

operator=(QJsonArray other)

operator!=(QJsonArray other)

operator+(QJsonValue value)

operator+=(QJsonValue value)

operator<<(QJsonValue value)

operator==(QJsonArray other)

operator[](int i)

将另一个Array赋值给该Array

当两个Array不相等时,返回true

生成一个包含两个array所有元素的array

把另一个array附加到该array之后

往array之后添加一个元素,返回新array的引用

当两个array相等时,返回true

提取索引i处的元素,也就是,可以用array[i]访问元素

 void

append(QJsonValue value

往array末尾加一个value

 QJsonValue

at(int i

返回array中索引为i的QJsonValue

如果i超限则返回Undefined类型的QJsonValue

 QJsonArray::iterator

begin()

返回一个STL样式的迭代器,指向array中的第一项 

 bool

contains(QJsonValue value)

如果array中包含value,返回true

 int

count()  

等同于size(),元素数

bool 

empty() 

等同于isEmpty(),是否为空

 QJsonArray::iterator

 end()

返回一个STL迭代器,指向array中的最后一项

 QJsonArray::iterator

 erase(QJsonArray::iterator it)

移除it指向的项,返回指向下一项的指针

 QJsonValue

 first()

返回array中的第一个value,等同于at(0)

 void

insert(int i, QJsonValue value

在索引i处插入value

 bool

isEmpty()

array为空时返回true

QJsonValue

last() 

返回array中的最后一个value,等同于at( size() - 1 ) 

void

pop_back()

移除最后一个元素,等同于removeLast()

调用该方法前通常先用isEmpty()判断array是否为空

pop_front() 

移除第一个元素,等同于removeFirst()

调用该方法前通常先用isEmpty()判断array是否为空

 prepend(const QJsonValue &value)

在array首插入元素value

 push_back(const QJsonValue &value)

等同于append 

 push_front(const QJsonValue &value)

等同于prepend

 removeAt(int i)

移除指定索引处的元素,0<= i < size()

removeFirst() 

移除第一个元素

removeLast() 

移除最后一个元素

replace(int i, QJsonValue value

用value取代索引i处的值

 int

size() 

返回元素个数

 void

swap(QJsonArray &other

交换两个array的元素

 QJsonValue

 takeAt(int i)

移除并返回指定索引i处的元素

 QVariantList

toVariantList()  

把QJsonArray转换为VariantList

1)访问QJsonArray中的所有QJsonValue:[i] 或 at(i)

for(int i=0;i<jsonarray.size();i++){
QJsonValue jval = jsonarray[i];
//…对jval的处理
}

Qt:QJsonDocument以及与QJsonArray、QJsonObject、QJsonValue的关联 - ShineLe - 博客园

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章