Десериализация json в qobject, используя qjson
Добрый вечер.
Использую либу qjson. Есть json вида:
{
param : value,
result:
[
{
param1 : value
},
{
param2 : value
}
]
}
Можно его десериализировать в qobject?
Делаю так, но что-то не получается:
class Result : public QObject {
Q_OBJECT
Q_PROPERTY(QString param1 READ param1 WRITE setParam1)
Q_PROPERTY(QString param2 READ param2 WRITE setParam2)
public:
Result(QObject *parent = 0);
QString param1();
void setParam1(QString &);
QString param2();
void setParam2(QString &);
private:
QString _param1;
QString _param2;
};
class Obj : public QObject {
Q_OBJECT
Q_PROPERTY(QString param READ param WRITE setParam)
Q_PROPERTY(QList<Result *> result READ result WRITE setResult)
public:
Obj(QObject *parent = 0);
QString param();
void setParam(QString &);
QList<Result *> result();
void setResult(QList<Result *> &);
private:
QString _param;
QList<Result *> _result;
}
Obj obj1;
QJson::Parser parser;
QJson::QObjectHelper::qvariant2qobject(parser.parse(json)).toMap(), &obj1);
В obj.result() пусто.
Источник: Stack Overflow на русском