Ignorer une propriété lors de la désérialisation à l'aide de Json.Net avec ItemRequired = Required.Always

Je suis en utilisant Json.Net pour sérialiser et désérialiser les classes en json et à l'arrière.

J'ai ajouté à une classe marquée avec [JsonObject(ItemRequired = Required.Always)] (ou Required.Always) un nouveau get-seulement de la propriété. Que les résultats dans la suite de JsonSerializationException:

Newtonsoft.Json.JsonSerializationException: propriété Requise '<PropertyName>' pas trouvé en JSON

Je pensais que le marquage de propriété avec JsonIgnore permettrait de résoudre le problème, mais cela ne fonctionne pas.

Comment puis-je dire Json.Net que cette propriété doit être ignoré?

Voici un exemple minimal de reproduire le problème:

[JsonObject(ItemRequired = Required.Always)]
public class Hamster
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    [JsonIgnore]
    public string FullName { get { return FirstName + LastName; }}
}

private static void Main()
{
    var hamster = new Hamster {FirstName = "Bar", LastName = "Arnon"};
    var serializeObject = JsonConvert.SerializeObject(hamster);
    var deserializeObject = JsonConvert.DeserializeObject<Hamster>(serializeObject);
}

source d'informationauteur i3arnon