title: Using ReadAsAsync<T>() to deserialize complex Json object
body: <p>I want to use ReadAsAsync() in my mvc project with .net 4.0. The result comes as null.</p>
  
  <p>If I enter the uri to address bar, the result in chrome as(tag names are changed):</p>
  
  <pre><code>&lt;ns2:MyListResponse xmlns:ns2="blablabla"&gt;
    &lt;customerSessionId&gt;xxcustomerSessionIdxx&lt;/customerSessionId&gt;
    &lt;numberOfRecordsRequested&gt;0&lt;/numberOfRecordsRequested&gt;
    &lt;moreResultsAvailable&gt;false&lt;/moreResultsAvailable&gt;
    &lt;MyList size="1" activePropertyCount="1"&gt;
      &lt;MySummary order="0"&gt;
        &lt;id&gt;1234&lt;/id&gt;
        &lt;name&gt;...&lt;/name&gt;
        .
        .   
      &lt;/MySummary&gt;
    &lt;/MyList&gt;
  &lt;/ns2:MyListResponse&gt;
  </code></pre>
  
  <p>If I use the statement in code :</p>
  
  <pre><code>using (var client = new HttpClient())
  {
       var response = client.GetAsync(apiUri).Result;
       var message = response.Content.ReadAsStringAsync().Result;
  
       var result1 = JsonConvert.DeserializeObject&lt;MyListResponse&gt;(message);
       var result2 = response.Content.ReadAsAsync&lt;MyListResponse&gt;().Result;
  }
  </code></pre>
  
  <p>the message comes in string format as <code>"{\"MyListResponse\":{\"customerSessionId\"...}"</code> which corresponds to a json object as:</p>
  
  <pre><code>{"MyListResponse":
      {"customerSessionId":"xxcustomerSessionIdxx",
       "numberOfRecordsRequested":0,
       "moreResultsAvailable":false,
       "MyList":
          {"@size":"1",
           "@activePropertyCount":"1",
           "MySummary":
              {"@order":"0",
               "id":1234,
               "name":"...",
               .
               .
              }
          }
      }
   } 
  </code></pre>
  
  <p><strong>and the properties of result1 and result2 came as null or default values.</strong> Class definitions are below. I want to read the content as an object but I couldn't. What do you advice to solve this? What am I doing wrong? Thanks in advance.</p>
  
  <pre><code>public class MySummary
  {
      public int @Order { get; set; }
      public string Id { get; set; }
      public string Name { get; set; }
      .
      .
  }
  
  public class MyList
  {
      public int @Size { get; set; }
      public int @ActivePropertyCount { get; set; }
      public MySummary MySummary{ get; set; }
  }
  
  public class MyListResponse
  {
      public string CustomerSessionId { get; set; }
      public int NumberOfRecordsRequested { get; set; }
      public bool MoreResultsAvailable { get; set; }
      public MyList MyList { get; set; }
  }
  </code></pre>