.net System.text.json中缺少不可为空的值时引发异常

vbopmzt1  于 2022-11-19  发布在  .NET
关注(0)|答案(1)|浏览(240)

在项目设置中具有<nullable>enabled</nullable>,具有以下类

  1. public class Car
  2. {
  3. public required string Name { get; init; }
  4. }

并将其从string反序列化:

  1. System.Text.Json.JsonSerializer.Deserialize<Car>("""{"Name": null}""");

不引发异常
由于属性被标记为不可为空,是否可以将STJ配置为在null值的情况下引发?

lpwwtiir

lpwwtiir1#

由于您使用的是.NET 7和C# 11,因此可以尝试使用System.Text.Json包中的JsonRequiredAttribute
或者,在Newtonsoft.Json包中有一个类似的选项。

  1. public class Car
  2. {
  3. [JsonProperty(Required = Required.Always)]
  4. public string Name { get; init; }
  5. }

相关问题