diff --git a/src/modules/Elsa.Workflows.Core/Contracts/IPayloadSerializer.cs b/src/modules/Elsa.Workflows.Core/Contracts/IPayloadSerializer.cs
index 5768049ea..762765bf4 100644
--- a/src/modules/Elsa.Workflows.Core/Contracts/IPayloadSerializer.cs
+++ b/src/modules/Elsa.Workflows.Core/Contracts/IPayloadSerializer.cs
@@ -48,4 +48,9 @@ public interface IPayloadSerializer
/// The serialized state.
/// The deserialized state.
T Deserialize(JsonElement serializedData);
+
+ ///
+ /// Gets the JSON serializer options.
+ ///
+ JsonSerializerOptions GetOptions();
}
\ No newline at end of file
diff --git a/src/modules/Elsa.Workflows.Core/Serialization/Serializers/JsonPayloadSerializer.cs b/src/modules/Elsa.Workflows.Core/Serialization/Serializers/JsonPayloadSerializer.cs
index cba5c7c01..820893889 100644
--- a/src/modules/Elsa.Workflows.Core/Serialization/Serializers/JsonPayloadSerializer.cs
+++ b/src/modules/Elsa.Workflows.Core/Serialization/Serializers/JsonPayloadSerializer.cs
@@ -25,14 +25,14 @@ public class JsonPayloadSerializer : IPayloadSerializer
///
public string Serialize(object payload)
{
- var options = GetPayloadSerializerOptions();
+ var options = GetOptions();
return JsonSerializer.Serialize(payload, options);
}
///
public JsonElement SerializeToElement(object payload)
{
- var options = GetPayloadSerializerOptions();
+ var options = GetOptions();
return JsonSerializer.SerializeToElement(payload, options);
}
@@ -51,18 +51,19 @@ public class JsonPayloadSerializer : IPayloadSerializer
///
public T Deserialize(string payload)
{
- var options = GetPayloadSerializerOptions();
+ var options = GetOptions();
return JsonSerializer.Deserialize(payload, options)!;
}
///
public T Deserialize(JsonElement payload)
{
- var options = GetPayloadSerializerOptions();
+ var options = GetOptions();
return payload.Deserialize(options)!;
}
- private JsonSerializerOptions GetPayloadSerializerOptions()
+ ///
+ public JsonSerializerOptions GetOptions()
{
var options = new JsonSerializerOptions
{