From 95e2d3704568c444984973d0225bd27f8e17301d Mon Sep 17 00:00:00 2001 From: Volker Lieber <42102008+VolkerLieber@users.noreply.github.com> Date: Thu, 1 Feb 2024 15:36:43 +0100 Subject: [PATCH] Fix json deserialization error on select value changed Due to .NET internal transformation of the provided JSON array, it can happen that ValueChanged receives a JsonElement of type String instead of Array, resulting in an error then trying to deserialize it into an array. This commit fixes that. --- SiemensIXBlazor/Components/Select/Select.razor.cs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/SiemensIXBlazor/Components/Select/Select.razor.cs b/SiemensIXBlazor/Components/Select/Select.razor.cs index 684fdb7..9b2d2d8 100644 --- a/SiemensIXBlazor/Components/Select/Select.razor.cs +++ b/SiemensIXBlazor/Components/Select/Select.razor.cs @@ -77,8 +77,14 @@ public async void ValueChanged(dynamic labels) else if(labels is JsonElement) { JsonElement jsonText = labels; - string[] labelArray = jsonText.Deserialize()!; - await ValueChangeEvent.InvokeAsync(labelArray); + + if (jsonText.ValueKind == JsonValueKind.Array) { + string[] labelArray = jsonText.Deserialize()!; + await ValueChangeEvent.InvokeAsync(labelArray); + } else + { + await ValueChangeEvent.InvokeAsync(jsonText.GetString()); + } } }