是否可以在 QJsonObject 中使用 long long 作为值?我被迫将我的API从 JSON 更改为 XML ,因为我得到的一个字段具有 BigInt 值,显然我无法从 QJsonValue 中提取大数字。
这是我的代码片段,它可能显示了正在发生的事情:
QJsonObject json;
unsigned long long ulongmax = ULONG_LONG_MAX;
QVariant variant = ulongmax;
qDebug() << variant;
qDebug() << ulongmax;
json.insert( "key", QJsonValue::fromVariant( variant ) );
unsigned long long json_value = json.value("key").toVariant().toULongLong();
qDebug() << json_value;
输出:
QVariant(qulonglong, 18446744073709551615)
18446744073709551615
9223372036854775808
期望的输出:
QVariant(qulonglong, 18446744073709551615)
18446744073709551615
18446744073709551615
我做错了什么吗?有人能帮我找出如何使它在没有外部库的情况下正常工作吗?谢谢!