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(); }