title: DateTime column type becomes String type after deserializing DataTable
body: <p>I have a DataTable having two columns. ShipmentDate(DateTime) and Count(Int). after I deserialize the string I noticed the type of ShipmentDate becomes string if the first itemarray value is null.</p>
  
  <p>Check the below example. both the json string have same data except the first array item.</p>
  
  <pre><code>string jsonTable1 = "[{\"ShipmentDate\":null,\"Count\":3},{\"ShipmentDate\":\"2015-05-13T00:00:00\",\"Count\":13},{\"ShipmentDate\":\"2015-05-19T00:00:00\",\"Count\":1},{\"ShipmentDate\":\"2015-05-26T00:00:00\",\"Count\":1},{\"ShipmentDate\":\"2015-05-28T00:00:00\",\"Count\":2}]";
  string jsonTable2 = "[{\"ShipmentDate\":\"2015-05-13T00:00:00\",\"Count\":13},{\"ShipmentDate\":null,\"Count\":3},{\"ShipmentDate\":\"2015-05-19T00:00:00\",\"Count\":1},{\"ShipmentDate\":\"2015-05-26T00:00:00\",\"Count\":1},{\"ShipmentDate\":\"2015-05-28T00:00:00\",\"Count\":2}]";
  
  DataTable tbl1 = Newtonsoft.Json.JsonConvert.DeserializeObject&lt;DataTable&gt;(jsonTable1);
  DataTable tbl2 = Newtonsoft.Json.JsonConvert.DeserializeObject&lt;DataTable&gt;(jsonTable2);
  
  Console.WriteLine(tbl1.Columns["ShipmentDate"].DataType);
  Console.WriteLine(tbl2.Columns["ShipmentDate"].DataType);
  </code></pre>
  
  <p>In my scenario ShipmentDate of first item array can be null and it creates problem by converting it to string type.</p>
  
  <p>I have a situation where schema of datatable is dynamic. i can't create strongly typed class.</p>