こんにちは、オブジェクトを JSON に変換しようとしています。その過程で私は2つのクラスを作成しました。
class class1 : Public object
{
Q_OBJECT
Q_PROPERTY(QString Item1 READ getItem1 WRITE setItem1)
Q_PROPERTY(qint64 Item2 READ getItem2 WRITE setItem2)
private:
QString Item1;
qint64 Item2;
public:
QString getItem1 () const { return Item1;}
void setItem1 (const QString& Item){ Item1= Item; }
// In the same way i have it for item2
}
Q_DECLARE_METATYPE(class1*);
Class class2 : public QObject
{
Q_OBJECT
Q_PROPERTY(QString Item1 READ getItem1 WRITE setItem1)
Q_PROPERTY(qint64 Item2 READ getItem2 WRITE setItem2)
Q_PROPERTY(QList<Class1*> class1List READ getclass1List WRITE setclass1List)
private:
qint64 Item5;
qint64 Item6;
QList< class1* > class1List;
public:
QString getItem5 () const { return Item5;}
void setItem5 (const QString& Item){ Item5 = Item; }
QString getItem6 () const { return Item6;}
void setItem6 (const QString& Item){ Item6 = Item; }
const QList<class1*> &getclass1List() const { return class1List;}
void setclass1List(const QList<class1List*> &List) { class1List= List; }
これで、リストclass2
を持つオブジェクトをusingに変換しました。class2 内のすべてのデータは JSON に変換されますが、リストは NULL として出力されます。class1
QVariant
QJson::QObjectHelper::qobject2qvariant
この手順で間違っていることを教えてください。
私もそれを試しました
QList<class1*> getclass1List() const { return class1List;}
void setclass1List(const QList<class1List*> List) { class1Lis = List; }
しかし、使用できません... JSONオブジェクトのリストの値に対してまだNULLを取得しています。同じリストを別のオブジェクトとして出力すると、データが取得されます。