网上搜了下,很多都是手写toJson(),类似如下的形式,有没有更方便一些的方法?比如利用qt的Q_PROPERTY啥的,自动实现某个class实例的序列化和反序列化?
#include <QtCore/QJsonDocument>
#include <QtCore/QJsonObject>
#include <QtCore/QDebug>
class MyClass
{
public:
MyClass(const QString &name, int age)
: mName(name), mAge(age)
{}
QString name() const { return mName; }
int age() const { return mAge; }
QJsonObject toJson() const
{
QJsonObject obj;
obj["name"] = mName;
obj["age"] = mAge;
return obj;
}
private:
QString mName;
int mAge;
};
int main(int argc, char *argv[])
{
MyClass myObject("John Doe", 30);
QJsonObject obj = myObject.toJson();
QJsonDocument doc(obj);
qDebug() << doc.toJson(QJsonDocument::Indented);
return 0;
}
--
FROM 8.219.203.*