Согласно официальной документации, метод JsonSerializer.Deserialize<TValue>(String, JsonSerializerOptions) имеет возвращаемое значение TValue?. Однако в документации, к сожалению, не указано, в каких случаях возвращается null, и мне не удалось найти такой сценарий.
Например, для следующего кода (с использованием значения по умолчанию для параметра JsonSerializerOptions):
record Test(string Whatever);
...
string json = ...;
Test? result = JsonSerializer.Deserialize<Test>(json);
когда result устанавливается на null?





Например, нулевой JSON-литерал приведет к десериализации соответствующего объекта как null:
string json = "null";
Test? result = JsonSerializer.Deserialize<Test>(json);
Console.WriteLine(result is null); // "True"
Думаю, это был самый быстрый ответ, который я когда-либо видел. Спасибо!