void Communicate::fun(QString str)
{
    qint32 mode;
    QJsonObject jsonObject, rootObject; //2.点 value(key)得出value实值
    QJsonDocument jsonDocument;         //1.str转document,再转object
    QJsonValue jsonValue;               //3.jsonValue.toVariant().toInt();  jsonValue.toVariant().toString();   jsonValue.toString()
    QJsonArray jsonArray;               //value也可转成数组,再转object,套用2、3    (jsonValue.toArray();)
    qDebug()<<"str:"<<str;
    jsonDocument = QJsonDocument::fromJson(str.toUtf8());
    rootObject = jsonDocument.object();
    jsonValue = rootObject.value("mode");
    mode = jsonValue.toVariant().toInt();
    
    jsonValue = rootObject.value("XXXX");
    jsonArray = jsonValue.toArray();
}已经是第三次要做json文件了,每次都要重新研究。太容易忘了。
其中QJsonvalue直接转string和转variant再转string的区别还没验证,有知道的大神请不吝赐教,帮忙留个言。










