Десериализация json в qobject, используя qjson

Рейтинг: 1Ответов: 0Опубликовано: 31.10.2014

Добрый вечер.

Использую либу 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() пусто.

Ответы

Ответов пока нет.