From 785360a435951c89bb5abf3818755967d9f36efc Mon Sep 17 00:00:00 2001 From: Tim Ward Date: Mon, 28 Aug 2023 17:56:04 -0700 Subject: [PATCH] Add explanation for jsonElementNullValueKindCheck --- .../Generators/JsonResultBuilderGenerator.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/StrawberryShake/CodeGeneration/src/CodeGeneration.CSharp/Generators/JsonResultBuilderGenerator.cs b/src/StrawberryShake/CodeGeneration/src/CodeGeneration.CSharp/Generators/JsonResultBuilderGenerator.cs index e1652fa696a..286295db9fe 100644 --- a/src/StrawberryShake/CodeGeneration/src/CodeGeneration.CSharp/Generators/JsonResultBuilderGenerator.cs +++ b/src/StrawberryShake/CodeGeneration/src/CodeGeneration.CSharp/Generators/JsonResultBuilderGenerator.cs @@ -225,6 +225,8 @@ private void AddDeserializeMethod( .AddCode(jsonElementNullCheck) .AddEmptyLine(); + // When deserializing arrays of nullable values (e.g. [User] => [ { ... }, null, { ... }]) the second + // element will be not null, but instead a JSON element of kind JsonValueKind.Null. var jsonElementNullValueKindCheck = IfBuilder .New() .SetCondition($"{_obj}.Value.ValueKind == System.Text.Json.JsonValueKind.Null")