lolautoaccept/src/json.cpp

47 lines
896 B
C++

#include "json.h"
template<>
int convert(const QJsonValue& val) {
if(val.isString())
return val.toString().toInt();
return val.toInt();
}
template<>
uint32_t convert(const QJsonValue& val) {
if(val.isString())
return val.toString().toUInt();
return (uint32_t) val.toDouble();
}
template<>
int64_t convert(const QJsonValue& val) {
if(val.isString())
return val.toString().toLongLong();
return (int64_t) val.toDouble();
}
template<>
uint64_t convert(const QJsonValue& val) {
if(val.isString())
return val.toString().toULongLong();
return (uint64_t) val.toDouble();
}
template<>
std::string convert(const QJsonValue& val) {
return val.toString().toStdString();
}
template<>
QString convert(const QJsonValue& val) {
return val.toString();
}
template<>
bool convert(const QJsonValue& val) {
if(val.isString())
return val.toString().toDouble() != 0;
return val.toBool();
}