diff --git a/Pilz.Updating/AppVersion.cs b/Pilz.Updating/AppVersion.cs index 9cec1a5..b83500a 100644 --- a/Pilz.Updating/AppVersion.cs +++ b/Pilz.Updating/AppVersion.cs @@ -1,7 +1,9 @@ using Newtonsoft.Json; +using Pilz.Updating.Json; namespace Pilz.Updating; +[JsonConverter(typeof(AppVersionStringJsonConverter))] public class AppVersion(Version version, int build, Channels channel) { // P r o p e r t i e s diff --git a/Pilz.Updating/Json/AppVersionStringJsonConverter.cs b/Pilz.Updating/Json/AppVersionStringJsonConverter.cs index 6516a53..9cc937a 100644 --- a/Pilz.Updating/Json/AppVersionStringJsonConverter.cs +++ b/Pilz.Updating/Json/AppVersionStringJsonConverter.cs @@ -3,8 +3,12 @@ using Newtonsoft.Json.Linq; namespace Pilz.Updating.Json; -public class AppVersionStringJsonConverter : JsonConverter +public class AppVersionStringJsonConverter(bool serializeAsObject) : JsonConverter { + public AppVersionStringJsonConverter() : this(false) + { + } + /// /// Writes the JSON representation of the object. /// @@ -19,7 +23,7 @@ public class AppVersionStringJsonConverter : JsonConverter return; } - if (value is not AppVersion appVersion) + if (serializeAsObject || value is not AppVersion appVersion) writer.WriteValue(value); else writer.WriteValue(appVersion.ToString());