C++ toString():JSON中的数字

C++ toString():JSON中的数字,c++,json,qt,C++,Json,Qt,我有QJsonObject,这里是: QJsonObject({"key":"1475bee449df002422340510c355a7f8b48ea647","pts":960894,"server":"imv4.vk.com/im1976","ts":1626706149}) object[“key”].toString()-确定,它返回1475BEE449DF0024222340510C3555A7F8B48EA647 object[“server”].toString()-好的,它返

我有QJsonObject,这里是:

QJsonObject({"key":"1475bee449df002422340510c355a7f8b48ea647","pts":960894,"server":"imv4.vk.com/im1976","ts":1626706149})
object[“key”].toString()
-确定,它返回
1475BEE449DF0024222340510C3555A7F8B48EA647

object[“server”].toString()
-好的,它返回
imv4.vk.com/im1976

object[“ts”].toString()
-失败,返回

object[“pts”].toString()
-失败,返回



是的,我可以做
QString::number(object[“ts”].toInt()),但它不是解决方案:值可以大于
MAXINT
对象[“ts”]
的类型为
double

QJsonValue(double, 1626706149)

但是
object[“ts”].toDouble()
返回
1.62671e+09
。有什么建议吗?

说明QJsonValue对象中有一个双精度值。快速尝试确认由于某种原因它不会转换为字符串,尽管它会通过强制转换转换为64位int

QJsonValue jv((double)9999960902);
qDebug() << jv.toString();
qDebug() << jv.toInt();
qDebug() << (qint64)jv.toDouble();

请提供一个准确的代码,而不是“我有QJsonObject,看起来像这样”。因为它不应该看起来像那样。但是代码不能看起来像上面的那行。据了解,您正在显示该对象的内容。请试着做qDebug(),我写过它是双精度的,但好的,完成了。我实际上在我的32位项目中测试了它。对有了64位整数,如果需要,您还可以将其转换为字符串。是印刷的,嗯。
""
0
9999960902