Я думаю, что проблема довольно проста, представление JSON подразумевает массив записей.
Вы пытаетесь получить доступ к записи без использования итератора или цикла.
Используйте приведенный ниже фрагмент, чтобы преобразовать QVariant в список
QVariantList result = parser.parse(cityReply->readAll(), &ok).toList();
А затем цикл с записями, например:
foreach(QVariant record, result) {
QVariantMap map = record.toMap();
qDebug() << map.value("name");
}