title: Is there a way to deserialize my JSON without using a wrapper class for each item?
body: <p>I am developing an ASP.NET application using JSON.NET that interfaces with a third-party REST API. The API returns JSON in the following format:</p>
  
  <pre><code>[
      {
          user: {
              id: 12345,
              first_name: "John",
              last_name: "Smith",
              created_at: "11/12/13Z00:00:00"
          }
      },
      {
          user: {
              id: 12346,
              first_name: "Bob",
              last_name: "Adams",
              created_at: "12/12/13Z00:00:00"
          }
      }
  ]
  </code></pre>
  
  <p>The <code>user</code> field is redundant, but I do not have control over the API so I have to live with it. I am currently using the following code to deserialize the JSON:</p>
  
  <pre><code>// Deserialize
  var responseBody = JsonConvert.DeserializeObject&lt;IEnumerable&lt;UserWrapper&gt;&gt;(responseString);
  
  // Access Properties
  foreach (var userWrapper in responseBody)
  {
      var firstName = userWrapper.User.FirstName
  }
  
  // Model classes
  public class UserWrapper
  {
      [JsonProperty(PropertyName = "user")]
      public User User { get; set; }
  }
  
  public class User
  {
      [JsonProperty(PropertyName = "id")]
      public string ID { get; set; }
  
      [JsonProperty(PropertyName = "first_name")]
      public string FirstName { get; set; }
  
      [JsonProperty(PropertyName = "last_name")]
      public string LastName { get; set; }
  
      [JsonProperty(PropertyName = "created_at")]
      public DateTime CreatedAt { get; set; }
  }
  </code></pre>
  
  <p>Having the wrapper class is a little ugly. So my question is:</p>
  
  <p><strong>Is there a way to eliminate the wrapper class using JSON.NET?</strong></p>