title: Serialization of Dictionary modifies part of key to be lowercase
body: <p>Quick question about serialization in .NET (still pretty new to it).</p>
  
  <p>I have a route that returns <code>Dictionary&lt;string, ArbirartyModel[]&gt;</code>. The issue is in the result. I've put expected and actual below. It seems to lower all characters up until 1 character before the first underscore, then leaves everything else below.</p>
  
  <p><strong>Expected</strong></p>
  
  <pre><code>{
    TEST_ONE: "Value",
    TEST_TOW: "Value"
  }
  </code></pre>
  
  <p><strong>Actual</strong></p>
  
  <pre><code>{
    tesT_ONE: "Value",
    tesT_TOW: "Value"
  }
  </code></pre>
  
  <p>I've been looking around and it seems that <a href="https://stackoverflow.com/questions/11263865/asp-net-webapi-json-binding-case-sensitivity">this issue</a> and a few others are related, but, unfortunately, I cannot change anything in the Global.asax</p>
  
  <p>Any help would be very much appreciated.</p>
  
  <p><strong>Update</strong></p>
  
  <pre><code>[HttpGet, Route("result/goes/here")]
  public IHttpActionResult ReturnResult()
  {
     return Ok(new Dictionary&lt;string, string&gt;() {{"TEST_ONE", "Value"}, {"TEST_TOW", "Value"}});
  }
  </code></pre>
  
  <p><code>Ok</code> is part of IHttpActionResult in Web API (<a href="https://msdn.microsoft.com/en-us/library/dn314591.aspx" rel="nofollow noreferrer">https://msdn.microsoft.com/en-us/library/dn314591.aspx</a>)</p>