c++ - toString() : numbers in JSON

标签 c++ json qt

我有 QJsonObject,这是它:

QJsonObject({"key":"1475bee449df002422340510c355a7f8b48ea647","pts":960894,"server":"imv4.vk.com/im1976","ts":1626706149})

object["key"].toString() - 好的,它返回 1475bee449df002422340510c355a7f8b48ea647
object["server"].toString() - 好的,它返回 imv4.vk.com/im1976
object["ts"].toString() - 失败,返回 ""
object["pts"].toString() - 失败,返回 ""


是的,我可以做 QString::number(object["ts"].toInt());,但这不是解决方案:值可以大于 MAXINT . object["ts"] 的类型是 double:

QJsonValue(double, 1626706149)

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

最佳答案

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

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

输出是:

""
0
9999960902

关于c++ - toString() : numbers in JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27091336/

相关文章:

javascript - 如果没有来自 json 的数据,则禁用 html 中的下拉列表

ios - 从 iOS Swift 中的 xml 文本文件中提取 Json

c++ - 如何使用命令行 qmake 创建 Qt GUI 或 QML/Qt quick 项目?

c++ - 错误 : classname does not name a type

javascript - 离线加载本地JSON文件

c++ - 尝试在 C++ 中转换结构时出现奇怪的错误消息

c++ - Qt:通过深拷贝访问列表中的数据结构是否应该比通过指针访问它慢得多

c++ - Qt C++ QLabel 可点击鼠标事件不起作用

c++ - C++ 中带有模板化事件类型的中央事件调度器

c++ - 以编程方式计算 Windows 上进程的开始时间