title: Newtonsoft json is not deserializing when the name of the class is the root element
body: <p>Newtonsoft json DeserializeObject is not parsing the json message when the name of the class is the root element.</p>
  
  <pre><code>var json = "  {\r\n \"amount\": {\r\n    \"currency\": \"EUR\",\r\n    \"value\": 99792\r\n  }\r\n}";
  var amount = JsonConvert.DeserializeObject&lt;Amount&gt;(json)
  </code></pre>
  
  <p>and the class</p>
  
  <pre><code>class Amount 
  {
      [JsonProperty("value")]
      public decimal? Value { get; set; }
  
      [JsonProperty("currency")]
      public string Currency { get; set; }
  }
  </code></pre>
  
  <p>In that case the Amount properties are <code>null</code>. The problem is that the amount is nested in a more complex json and I found out that it is always returned empty because it starts with the "amount". Of course I tried some annotations in the Amount class like [DataContract] and [JsonObject] but still it is empty 
  In case of:</p>
  
  <pre><code> var json = "{\r\n    \"currency\": \"EUR\",\r\n    \"value\": 99792\r\n }";
  </code></pre>
  
  <p>Then is parsed properly. The question is how can I deseriale the json in the first case?</p>