Возможно ли использовать длинное длинное в качестве значения на QJsonObject? Я был вынужден изменить свой API из JSON в XML, потому что 1 поле я получил были BigInt значения и Aparently я не могу извлечь большие числа из QJsonValue.Qt: от беззнакового длинного длинного до QJsonObject
Вот мой мир кода, который может показать, что происходит:
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
Могу ли я делать ничего плохого? Может ли кто-нибудь помочь мне узнать, как заставить его работать без внешних библиотек? Спасибо!
Я уверен, что это нарушит спецификацию JSON, поскольку она предназначена только для хранения чисел, которые могут вписываться в двойной. Рассматривали ли вы сохранение числа в виде строки? – MrEricSir
Я использую внешний API, это не для меня. –