Преобразование QJsonValue toDouble() генерирует неправильные значения, что приводит к потере данных.
QJsonObject obj;
obj.insert("dbl",double(73183493944884961));
double d = obj.value("dbl").toDouble();
qulonglong ul = d;
qulonglong ul2 = 73183493944884961;
qDebug () << ul << ul2;
Выход:
73183493944884960 73183493944884961