Qt QJsonValue
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(QJsonValueother) |
QJsonValue(QJsonObjecto) |
QJsonValue(QJsonArraya) |
QJsonValue(vars) var可以是char、QString、qint64、double、bool |
3、静态方法
QJsonValue | frVariant(QVariant variant) |
4、实例方法
返回值类型 |
方法 |
说明 |
QJsonValue & bool bool QJsonValue QJsonValue |
operator=(QJsonValueother) operator!=(QJsonValueother) operator==(QJsonValueother) operator[](QStringkey) operator[](inti) |
赋值 判断是否不等 判断是否相等 可以用 [i]的方式提取元素 |
bool |
isArray() isBool() isDouble() isNull() isObject() isString() isUndefined() |
类型判断 |
void | swap(QJsonValue &other) | 交换两个QJsonValue的值 |
QJsonArray |
toArray(QJsonArraydefaultValue) toArray() |
QJsonValue转换为QJsonArray |
bool double int QJsonObject QJsonObject QString QString QVariant |
toBool(booldefaultValue= false) toDouble(doubledefaultValue= 0) toInt(intdefaultValue= 0) toObject(QJsonObjectdefaultValue) toObject() toString() toString(QStringdefaultValue) toVariant() |
QJsonValue转换为指定类型 |
QJsonValue::Type | type() | QJsonValue中数据的类型 |
上一篇:3D Slicer 设置中文界面
下一篇:Qt QJsonDocument以及与QJsonArray、QJsonObject、QJsonValue的关联
Qt