Qt:QJsonObject
0、说明
QJsonObject在逻辑上就是一个Map或Dict!记住这一点对理解它的方法、说明很有帮助。
QJsonObject类封装了JSON Object。
JSON Object是一个Key-Value对,Key是string,而Value是QJsonValue。
QJsonObject与QVariantMap间可以互相转化。可以通过调用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 |
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 - 博客园
最新文章
- [AlwaysOn Availability Groups]排查:AG超过RTO
- Map中的entry
- C#常用代码集合(1)
- 利用JavaScript函数对字符串进行加密
- 时光煮雨 Unity3D实现2D人物移动-总结篇
- Java学习-048-插件应用之 Find Bugs
- js javascript jquery区别和联系
- android开发之定制ViewPager滑动事件
- [BZOJ 2049] [Sdoi2008] Cave 洞穴勘测 【LCT】
- Java编码问题汇总
- 一、js的数据类型
- opencv提供的带参数例程
- 全栈开发之HTML快速入门(一)
- Springboot项目如何把项目运行在服务器上
- 茶馆小人书 (AFO)
- JavaScript-switch-case-电话系统
- iostat磁盘监控工具
- uboot启动提示Error, wrong i2c adapter 0 max 0 possible后卡住了怎么办
- Linux env命令详解
- Subversion、TortoiseSVN、Ankhsvn+VS使用