diff --git a/src/modules/Elsa.Workflows.Core/Activities/Flowchart/Serialization/FlowchartJsonConverter.cs b/src/modules/Elsa.Workflows.Core/Activities/Flowchart/Serialization/FlowchartJsonConverter.cs index 55d77c391..4935d7599 100644 --- a/src/modules/Elsa.Workflows.Core/Activities/Flowchart/Serialization/FlowchartJsonConverter.cs +++ b/src/modules/Elsa.Workflows.Core/Activities/Flowchart/Serialization/FlowchartJsonConverter.cs @@ -16,12 +16,12 @@ public class FlowchartJsonConverter : JsonConverter throw new JsonException("Failed to parse JsonDocument"); var connectionsElement = doc.RootElement.TryGetProperty("connections", out var connectionsEl) ? connectionsEl : default; - var metadataElement = doc.RootElement.GetProperty("metadata"); var activitiesElement = doc.RootElement.TryGetProperty("activities", out var activitiesEl) ? activitiesEl : default; var id = doc.RootElement.GetProperty("id").GetString()!; var startId = doc.RootElement.TryGetProperty("start", out var startElement) ? startElement.GetString() : default; var activities = activitiesElement.ValueKind != JsonValueKind.Undefined ? activitiesElement.Deserialize>(options) ?? new List() : new List(); - var metadata = metadataElement.Deserialize>(options) ?? new Dictionary(); + var metadataElement = doc.RootElement.TryGetProperty("metadata", out var metadataEl) ? metadataEl : default; + var metadata = metadataElement.ValueKind != JsonValueKind.Undefined ? metadataElement.Deserialize>(options) ?? new Dictionary() : new Dictionary(); var start = activities.FirstOrDefault(x => x.Id == startId) ?? activities.FirstOrDefault(); var connectionSerializerOptions = new JsonSerializerOptions(options); var activityDictionary = activities.ToDictionary(x => x.Id);