title: Newtonsoft JSON dynamic property name
body: <p>Is there a way to change name of Data property during serialization, so I can reuse this class in my WEB Api.</p>
  
  <p>For an example, if i am returning paged list of users, Data property should be serialized as "users", if i'm returning list of items, should be called "items", etc.</p>
  
  <p>Is something like this possible:</p>
  
  <pre><code>public class PagedData
  {
      [JsonProperty(PropertyName = "Set from constructor")]??
      public IEnumerable&lt;T&gt; Data { get; private set; }
      public int Count { get; private set; }
      public int CurrentPage { get; private set; }
      public int Offset { get; private set; }
      public int RowsPerPage { get; private set; }
      public int? PreviousPage { get; private set; }
      public int? NextPage { get; private set; }
  }
  </code></pre>
  
  <p><strong>EDIT:</strong></p>
  
  <p>I would like to have a control over this functionality, such as passing name to be used if possible. If my <code>class</code> is called <code>UserDTO</code>, I still want serialized property to be called <code>Users</code>, not <code>UserDTOs</code>.</p>
  
  <p>Example</p>
  
  <pre><code>var usersPagedData = new PagedData("Users", params...);
  </code></pre>