From 9b56c5bf51bdd6246154dadc89a40f89ff954f6f Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sun, 12 Feb 2017 22:31:31 +0100 Subject: [PATCH] refs #879, added static fromJson --- src/blackmisc/json.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/blackmisc/json.h b/src/blackmisc/json.h index a12a71f2b..197a42043 100644 --- a/src/blackmisc/json.h +++ b/src/blackmisc/json.h @@ -396,6 +396,24 @@ namespace BlackMisc convertFromJson(BlackMisc::Json::jsonObjectFromString(jsonString)); } + //! Get object from QJsonObject + template + static DerivedObj fromJson(const QJsonObject &json) + { + DerivedObj obj; + obj.convertFromJson(json); + return obj; + } + + //! Get object from JSON string + template + static DerivedObj fromJson(const QString &jsonString) + { + DerivedObj obj; + obj.convertFromJson(BlackMisc::Json::jsonObjectFromString(jsonString)); + return obj; + } + private: const Derived *derived() const { return static_cast(this); } Derived *derived() { return static_cast(this); }