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的区别还没验证,有知道的大神请不吝赐教,帮忙留个言。