title: Json.Net does not handle deserializing a null DataTable
body: <p>I have this class as object to serialize:</p>
  
  <pre><code>public class JsonServerToClient
  {
      public JsonServerToClient()
      {
          query = new List&lt;Query&gt;();
      }
      public String authKey { get; set; }
      public List&lt;Query&gt; query { get; set; }
  
      public struct Query
      {
          public int error { get; set; }
          public DataTable result { get; set; }
      }
  
  }
  </code></pre>
  
  <p>I use <code>JsonConvert.SerializeObject(objectAbove);</code> to serialize JSON.</p>
  
  <p>and <code>JsonConvert.DeserializeObject&lt;JsonServerToClient&gt;(text);</code> to deserialize it.</p>
  
  <p>All works fine when the result is full of data, but if it is null I get this JSON:</p>
  
  <pre><code>{
      "authKey": "pippo",
      "query": [
          {
              "error": -1,
              "result": null
          }
      ]
  }
  </code></pre>
  
  <p>The problem is when I try to deserialize this I get an exception:</p>
  
  <pre><code>Eccezione non gestita di tipo 'Newtonsoft.Json.JsonSerializationException' in Newtonsoft.Json.dll
  
  Ulteriori informazioni: Unexpected end when deserializing array. Path '', line 1, position 56.
  </code></pre>