title: JSON.NET Case Insensitive Deserialization not working
body: <p>I need to deserialize some JSON into my object where the casing of the JSON is unknown/inconsistent. JSON.NET is supposed to be case insensitive but it not working for me. </p>
  
  <p>My class definition:</p>
  
  <pre><code>public class MyRootNode
  {
      public string Action {get;set;}
      public MyData Data {get;set;}
  }
  
  public class MyData
  {
      public string Name {get;set;}
  }
  </code></pre>
  
  <p>The JSON I receive has <code>Action</code> &amp; <code>Data</code> in lowercase and has the correct casing for <code>MyRootNode</code>.</p>
  
  <p>I'm using this to deserialize:</p>
  
  <pre><code>MyRootNode ResponseObject = JsonConvert.DeserializeObject&lt;MyRootnode&gt;(JsonString);
  </code></pre>
  
  <p>It returns to be an initialised <code>MyRootNode</code> but the <code>Action</code> and <code>Data</code> properties are null. </p>
  
  <p>Any ideas?</p>
  
  <p>EDIT: Added JSON</p>
  
  <pre><code>{
     "MyRootNode":{
        "action":"PACT",
        "myData":{
           "name":"jimmy"
        }
     }
  }
  </code></pre>