title: How to forbid Json.Net to convert ints to bools for deserialization
body: <pre><code>public class RootobjectTest
  {
      public int timestamp { get; set; }
      public string Base { get; set; }
      public Rates rates { get; set; }
  }
  
  public class Rates
  {
      public float AED { get; set; }
      public float AFN { get; set; }
      public float ALL { get; set; }
      public float AMD { get; set; }
      public float YER { get; set; }
      public float ZAR { get; set; }
      public float ZMK { get; set; }
      public float ZMW { get; set; }
      public float ZWL { get; set; }
  }
  
  var jsonData = @"{ ""timestamp"": 1370340068,  ""base"": ""USD"",  ""rates"": {       
  ""AED"":
  3.672958,    ""AFN"": 54.154801,    ""ALL"": 107.66425,    ""AMD"": 419.62875,  
  ""YER"": 214.964253,    ""ZAR"": 9.813218,    ""ZMK"": 5227.108333,    ""ZMW"": 5.344453,
  ""ZWL"": 322.387247  }}";
  
  var currencyRates = JsonConvert.DeserializeObject&lt;RootobjectTest&gt;(jsonData); 
  </code></pre>
  
  <p>All is good and works perfectly. But if I change  </p>
  
  <pre><code>public int timestamp { get; set; } 
  </code></pre>
  
  <p>to</p>
  
  <pre><code>public bool timestamp { get; set; }
  </code></pre>
  
  <p>I don't get any errors. Json.Net parses int value of timestamp and converts it to bool. Is there elegant and simple way to forbid this?</p>