#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(); }