Qt:QJsonArray


0、說明

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

一個QJsonArray可以與QVariantList互相轉換。可以通過size()訪問其中的元素數,insert()、removeAt()移除其中的元素,並通過標准C++迭代模式進行迭代。

QJsonArray是個隱含的共享類,它與創建該類的Json文檔共享數據,也就是說修改數據時它們會同時改變。

可以從JSON中生成QJsonArray或者把QJsonArray轉化為JSON。

1、模塊和加載項

Header #include<QJsonArray>
qmake QT += core
Since Qt 5.0

2、構造

QJsonArray(QJsonArray other) 獲得另一個QJsonArray的副本
QJsonArray(QJsonArray &other) 從另一個QJsonArray構造
QJsonArray(List<QJsonValue> args)

從一個List<QJsonValue>中構造QJsonArray

    QJsonArray sedId = {1,2,3,4,5,6};
QJsonArray() 構造一個空的QJsonArray

3、靜態方法

返回值類型

方法

說明

QJsonArray fromStringList(QStringList list)

從一個QStringList構造QJsonArray

List中的value將被轉換為JSON values

QJsonArray fromVariantList(QVariantList list)

從一個QVariantList構造QJSonArray

List中的value將被轉換為JSON values

 

4、實例方法

返回值類型

方法

說明

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

5、用法

1)訪問QJsonArray中的所有QJsonValue:[i] 或 at(i)

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

 

6、QJsonValue、QJsonArray、QJsonObject、QJsonDocument之間的關聯

Qt:QJsonDocument以及與QJsonArray、QJsonObject、QJsonValue的關聯 - ShineLe - 博客園


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM