0、说明

QJsonValue类用于操作JSON中的各种数据。

JSON是用于存储结构化数据的格式,JSON中的数据可以是六种类型:

基本类型

存储类型

bool QJsonValue::Bool
double QJsonValue::Double
string QJsonValue::String
array  QJsonValue::Array
object  QJsonValue::Object
null  QJsonValue::Null

这六种类型就能代表任何程序中的类型了。除此之外,QJsonValue还有一个特殊的标签用于指代未定义变量,通过isUndefined()查看这个标签。

值的类型通过type()查看,或者直接用isBool()、isString()、...进行判断。同时,JSON中的值通过toBool()、toString()、...转化为程序中的类型。

数值类型是内部严格对应的,不同于QVariant,QJsonValue并不会做隐含的强制转型。这意味着转换一个不存在于Value的类型会返回一个默认类型的Value。

1、模块和载入项

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

2、构造

QJsonValue(QJsonValue other)
QJsonValue(QJsonObject o)
QJsonValue(QJsonArray a)

QJsonValue(var s)

var可以是char、QString、qint64、double、bool

3、静态方法

QJsonValue fromVariant(QVariant variant)  

4、实例方法

返回值类型

方法

说明

QJsonValue &

bool

bool

QJsonValue

QJsonValue

operator=(QJsonValue other)

operator!=(QJsonValue other)

operator==(QJsonValue other)

operator[](QString key)

operator[](int i)

赋值

判断是否不等

判断是否相等

可以用 [i]的方式提取元素

bool

isArray()

isBool()

isDouble()

isNull()

isObject()

isString()

isUndefined()

类型判断
void swap(QJsonValue &other) 交换两个QJsonValue的值
QJsonArray

toArray(QJsonArray defaultValue)

toArray()

QJsonValue转换为QJsonArray

bool

double

int

QJsonObject

QJsonObject

QString

QString

QVariant

toBool(bool defaultValue = false)

toDouble(double defaultValue = 0)

toInt(int defaultValue = 0)

toObject(QJsonObject defaultValue)

toObject()

toString()

toString(QString defaultValue)

toVariant()

QJsonValue转换为指定类型
QJsonValue::Type type() QJsonValue中数据的类型

5、QJsonValue、QJsonArray、QJsonObject、QJsonDocument之间的关联

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

最新文章

  1. vs中部分快捷键
  2. Atitit 项目中的勋章体系,,mvp建设&#160;,荣典体系建设
  3. 1.7 基础知识——GP2.6 配置管理(CM)
  4. 将当前网址生成快捷方式在桌面(仅支持IE)
  5. C#.NET序列化XML、JSON、二进制微软自带DLL与newtonsoft(json.net)
  6. C++:纯虚函数与抽象类
  7. pyqt5消息框QMessageBox
  8. 百度地图LV1.5实践项目开发工具类bmap.util.jsV1.1
  9. 【从0開始Tornado建站】群聊
  10. AngularJS2之Angular正式初探
  11. WeakSelf宏的进化(转载)
  12. jQuery animate()动画效果
  13. ASP.NET MVC5+EF6+EasyUI 后台管理系统(89)-EF执行SQL语句与存储过程
  14. [Poi2012]A Horrible Poem BZOJ2795
  15. button JS篇ant Design of react
  16. 分析easyswoole3.0源码,consoleTcpService(六)
  17. Find them, Catch them POJ - 1703
  18. nginx 根据端口不同实现负载均衡
  19. 使用RemObjects Pascal Script
  20. SpringBoot整合Quartz定时任务 的简单实例

热门文章

  1. linux下查看开放的端口
  2. 不难懂-----redux
  3. 将Java连接数据库操作封装到MySQL类中
  4. C++ 微信多开
  5. 带你十天轻松搞定 Go 微服务系列(八、服务监控)
  6. UIView与核心动画对比?
  7. SQLite 基础不扎实造成的:error code 19: constraint failed
  8. PRML 基础知识
  9. LeetCode随缘刷题之最短补全词
  10. linux_20