title: System.Net.Http.HttpClient adds @ at the end of JSON keys. Why?
body: <p>I have a pretty simple problem I am not able to solve.</p>
  
  <p>I have an Action method defined like this:</p>
  
  <pre><code>    [HttpPut]
      public ActionResult Register(ClientRegistrationInformation clientInformation)
      { ... }
  </code></pre>
  
  <p>ClientRegistrationInformation is defined in F# like this:</p>
  
  <pre><code>type ClientRegistrationInformation () =
      member val ClientKey = Guid.Empty with get, set
      member val ValidationToken = String.Empty with get, set
  </code></pre>
  
  <p>I want to call this action method using System.Net.Http.HttpClient. When I try this:</p>
  
  <pre><code>httpClient.PutAsJsonAsync (RegisterUrl, clientInformation)
  </code></pre>
  
  <p>the JSON content is sent like this, which does not work:</p>
  
  <pre><code>"{\"ClientKey@\":\"8cb33ed5-ef49-4c40-afbe-78f0c198448e\",\"ValidationToken@\":\"token\"}"
  </code></pre>
  
  <p>When I try the same using jQuery.ajax, the content is sent like this, which DOES work:</p>
  
  <pre><code>"{\"ClientKey\":\"8cb33ed5-ef49-4c40-afbe-78f0c198448e\",\"ValidationToken\":\"token\"}"
  </code></pre>
  
  <p>Why does HttpClient add the unnecessary @ symbols at the end of the names?
  How do I get rid of them?</p>
  
  <p>Thanks.</p>