类型判断:
    QJsonValue v("1");QJsonValue v1(1);qDebug()<<v.isString();//trueqDebug()<<v.isBool();//falseqDebug()<<v.isDouble();//falseqDebug()<<v1.isString();//falseqDebug()<<v1.isBool();//falseqDebug()<<v1.isDouble();//trueisDouble()也可以用于判断整型。
强制转换:
背景:从服务器返回的json数据,可能是int或string类型。
图方便,写一个强制转换函数。
(本地只有int,string,bool类型)
不论json数据是什么类型,本地是什么类型,就强制转换成什么类型。
QString JsonValue_to_QString(QJsonValue value)
{//value要么是QString,要么是intif(value.isString())return value.toString();else if(value.isDouble())return QString::number(value.toInt());else return "";
}
int JsonValue_to_Int(QJsonValue value)
{//value要么是QString,要么是intif(value.isString())return value.toString().toInt();else if(value.isDouble())return value.toInt();else return 0;
}
    QJsonValue v("1234");QJsonValue v1(3333);qDebug()<<JsonValue_to_QString(v);qDebug()<<JsonValue_to_QString(v1);qDebug()<<JsonValue_to_Int(v);qDebug()<<JsonValue_to_Int(v1);"1234"
"3333"
1234
3333
    QJsonValue v("0");QJsonValue v1(1);bool k;k=JsonValue_to_Int(v);qDebug()<<k;k=JsonValue_to_Int(v1);qDebug()<<k;false
true