QJsonValue
При работе с данным классом возникают ситуации неправильного присвоения типа при парсинге, в результате получается двойная конвертации при которой возникает ошибка и значение возвращается неправильное. Для избежание данной ошибки можно воспользоваться методом QVariantMap который создаст map с значениями ключ = значения, из которого можно конвертировать в уже необходимое значение с указанием типа данных.
Фрагмент кода:
QJsonParseError error;
QJsonDocument doc = QJsonDocument::fromJson(val.toUtf8(),&error);
qDebug() << "Error: " << error.errorString() << error.offset << error.error;
if (doc.isObject())
{
QJsonObject obj = doc.toObject();
QVariantMap Map = obj.toVariantMap();
QString test1 = Map["test1"].toString();
QString test2 = Map["test2"].toString();
QString test3 = Map["test3"].toString();
}
