overview
ℹ️ Important
Availability: C# 11 / .NET 7
Properties can be marked required to indicate that they must be present in the JSON payload for deserialization to succeed. Otherwise, Deserialize methods throw a JsonException.
Techniques for Marking Fields/Properties
- Add the requiredmodifier to the field/property (C# 11)
- Annotate the property with JsonRequiredAttribute(.NET 7) a. Use this technique if the requirement should only apply to deserialization.
- Modify the JsonPropertyInfo.IsRequiredproperty of the contract model (.NET 7)
Example
public class Person 
{
	public required string Name { get; set; }
	public int Age { get; set; }
}
or:
[JsonRequired]
public string Name { get; set; }