title: Not ableTo Serialize Dictionary with Complex key using Json.net
body: <p>I have a dictionary with a custom .net Type as Its key.I am trying to serialize this dictionary to JSON using JSON.net, However its not able to Convert Keys to Proper Value during Serialization. </p>
  
  <pre><code>class ListBaseClass
  {
      public String testA;
      public String testB;
  }
  -----
  var details = new Dictionary&lt;ListBaseClass, string&gt;();
  details.Add(new ListBaseClass { testA = "Hello", testB = "World" }, "Normal");
  var results = Newtonsoft.Json.JsonConvert.SerializeObject(details);
  var data = Newtonsoft.Json.JsonConvert.DeserializeObject&lt;Dictionary&lt;ListBaseClass, string&gt;&gt; results);
  </code></pre>
  
  <p>This Give me --> "{\"JSonSerialization.ListBaseClass\":\"Normal\"}"</p>
  
  <p>However if I have my Custom type as value in Dictionary it Works well</p>
  
  <pre><code>  var details = new Dictionary&lt;string, ListBaseClass&gt;();
    details.Add("Normal", new ListBaseClass { testA = "Hello", testB = "World" });
    var results = Newtonsoft.Json.JsonConvert.SerializeObject(details);
    var data = Newtonsoft.Json.JsonConvert.DeserializeObject&lt;Dictionary&lt;string, ListBaseClass&gt;&gt;(results);
  </code></pre>
  
  <p>This Give me --> "{\"Normal\":{\"testA\":\"Hello\",\"testB\":\"World\"}}"</p>
  
  <p>Can Someone Suggest If I am hitting some limitation of Json.net or I am doing Something Wrong?</p>