diff --git a/src/blackmisc/json.h b/src/blackmisc/json.h index fb1c7e1a0..ad4df9348 100644 --- a/src/blackmisc/json.h +++ b/src/blackmisc/json.h @@ -303,7 +303,10 @@ namespace BlackMisc { baseConvertFromJson(static_cast *>(derived()), json); auto meta = introspect().without(MetaFlags()); - meta.forEachMemberName(*derived(), [ & ](auto & member, const QString & name) { json.value(name) >> member; }); + meta.forEachMemberName(*derived(), [ & ](auto & member, const QString & name) + { + if (json.contains(name)) { json.value(name) >> member; } + }); } //! Assign from JSON object string