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
{
{"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 - 博客园

最新文章

  1. [AlwaysOn Availability Groups]排查:AG超过RTO
  2. Map中的entry
  3. C#常用代码集合(1)
  4. 利用JavaScript函数对字符串进行加密
  5. 时光煮雨 Unity3D实现2D人物移动-总结篇
  6. Java学习-048-插件应用之 Find Bugs
  7. js javascript jquery区别和联系
  8. android开发之定制ViewPager滑动事件
  9. [BZOJ 2049] [Sdoi2008] Cave 洞穴勘测 【LCT】
  10. Java编码问题汇总
  11. 一、js的数据类型
  12. opencv提供的带参数例程
  13. 全栈开发之HTML快速入门(一)
  14. Springboot项目如何把项目运行在服务器上
  15. 茶馆小人书 (AFO)
  16. JavaScript-switch-case-电话系统
  17. iostat磁盘监控工具
  18. uboot启动提示Error, wrong i2c adapter 0 max 0 possible后卡住了怎么办
  19. Linux env命令详解
  20. Subversion、TortoiseSVN、Ankhsvn+VS使用

热门文章

  1. 函数的参数python教程
  2. JVM专题1: 类和类加载机制
  3. 张高兴的 .NET IoT 入门指南:(七)制作一个气象站
  4. SP5971 LCMSUM - LCM Sum
  5. 配置phpmemcache扩展,Loaded Configuration File (none)
  6. Java线程--ForkJoinPool使用
  7. nginx负载均衡中常见的算法及原理有哪些?
  8. Ubuntu18修改系统时间
  9. [技术干货-算子使用] mindspore.scipy 入门使用指导
  10. 【JOISC 2020 补题记录】