Qt:QJsonObject


0、說明

QJsonObject在邏輯上就是一個MapDict!記住這一點對理解它的方法、說明很有幫助。

QJsonObject類封裝了JSON Object

JSON Object是一個Key-Value對,Keystring,而ValueQJsonValue

QJsonObjectQVariantMap間可以互相轉化。可以通過調用size()來查詢K-V對的數量。通過insert()、remove()來從中移除K-V對。

QJsonObject是個隱含共享類,與創建它的Document共享數據。

可以從JSON文本文件中通過QJsonDocument轉換得到QJsonObject,也可以進行相反的操作把QJsonObject轉為QJsonDocument

1、模塊和加載項

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

2、構造

QJsonObject(QJsonObject other) 返回另一個QJsonObject的副本
QJsonObject(List<QPair<QString, QJsonValue> > args) 通過初始化List構造QJsonObject:
QJsonObject object
{
    {"property1", 1},
    {"property2", 2}
};
QJsonObject() 構造空QJsonObject

 

3、靜態字段

class const_iterator  
class iterator  
typedef ConstIterator  
typedef Iterator  
typedef key_type  
typedef mapped_type  
typedef size_type  

 

3、靜態方法

返回值類型

方法

說明

QJsonObject fromVariantHash(QVariantHash hash) 將一個QVariantHash轉化為QJsonObject
QJsonObject fromVariantMap(QVariantMap map) 將一個QVariantMap轉化為QJsonObject

 

4、實例方法

返回值類型

方法

說明

 QJsonObject

bool

bool

QJsonValue

operator=(QJsonObject other)

operator!=(QJsonObject other)

operator==(QJsonObject other)

operator[](QString key)

賦值

不相等判斷

相等判斷

取Key對應的Value

QJsonObject::iterator begin() STL樣式的迭代器,指向Object的首項
bool

contains(QString key)

contains(QStringView key)

Object中是否包含Key key
int count() 等同於size(),有多少個K-V對
bool empty() 是否為空
QJsonObject::iterator end() STL樣式的迭代器,指向Object的末尾
QJsonObject::iterator erase(QJsonObject::iterator it) 移除迭代器it指向的K-V對
QJsonObject::iterator

find(QString key)

find(QStringView key)

find(QStringView key)

返回迭代器指向的一個Key為key的項
QJsonObject::iterator

insert(QString key, QJsonValue value)

insert(QStringView key, QJsonValue value)

插入一個新key-value對
bool isEmpty() 是否為空
QStringList keys() 所有Key構成的List
int length() 等同於size(),有多少個K-V對
void

remove(QString key)

remove(QStringView key)

移除Key為key的K-V對
int size() 有多少個K-V對
void swap(QJsonObject &other) 交換兩個QJsonObject
QJsonValue

take(QString key)

take(QStringView key)

從QJsonObject中移除Key為key的K-V對
QVariantHash toVariantHash() 將QJsonObject轉換為QVariantHash
QVariantMap toVariantMap() 將QJsonObject轉換為QVariantMap
QJsonValue

value(QString key)

value(QStringView key)

提取Key對應的Value

6、常用

1)提取QJsonObject中某個Key對應的Value:QJsonObject[ key ] 或 QJsonObject.value( key )

 

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

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


免責聲明!

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



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