A class having a member function named ToJson that returns a UniquePtr to a JsonValue is JsonExportable .
A user-defined class defined with a json attribute is a JsonExportable class.