title: Ignore a property when deserializing using Json.Net with ItemRequired = Required.Always
body: <p>I'm using Json.Net to serialize and deserialize classes to json and back.</p>
  
  <p>I added to a class marked with <code>[JsonObject(ItemRequired = Required.Always)]</code> (or <code>Required.Always</code>) a new get-only property. That results in the following <code>JsonSerializationException</code>:</p>
  
  <blockquote>
    <p>Newtonsoft.Json.JsonSerializationException: Required property <code>'&lt;PropertyName&gt;'</code> not found in JSON</p>
  </blockquote>
  
  <p>I thought marking that property with <code>JsonIgnore</code> would solve the issue, but that doesn't work.</p>
  
  <p>How can I tell Json.Net that this property should be ignored?</p>
  
  <p>Here's a minimal example reproducing the issue:</p>
  
  <pre><code>[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&lt;Hamster&gt;(serializeObject);
  }
  </code></pre>