У меня есть некоторые перечисления, значения которых нужно поместить в QJsonObject. Например, если вы работаете с логическим типом:
QJsonObject jq;
QVariant v;
v = QVariant::fromValue(true);
jq.insert ("bool",QJsonValue::fromVariant(QVariant::fromValue(v.value<bool>())));
std::cout << (QJsonDocument(jq).toJson().toStdString());
, вывод:
{
"bool": true
}
значение не является строкой - оно буквальное
Мне нужно то же самое для моих перечислений ...
class Enums {
Q_GADGET
public:
enum STATE{
DELETED = 1,
NEW = 2,
APPROVED = 4,
SOLVED = 8,
ERROR = 16,
PROCESS = 32,
};
Q_ENUM(STATE)
};
Q_DECLARE_METATYPE(Enums::STATE)
и вывод
QJsonObject jq;
QVariant v;
v = QVariant::fromValue(Enums::STATE::NEW);
jq.insert ("Enums->STATE",QJsonValue::fromVariant(QVariant::fromValue(v.value<Enums::STATE>())));
std::cout << (QJsonDocument(jq).toJson().toStdString());
составляет:
{
"Enums->STATE": "NEW"
}
но мне нужно:
{
"Enums->STATE": NEW
}
Пожалуйста, помогите!