Newtonsoft JSON dynamischer Eigenschaftsname

Ist es eine Möglichkeit, den Namen der Data-Eigenschaft während der Serialisierung zu ändern, sodass ich diese Klasse in meiner WEB-API wiederverwenden kann.

Zum Beispiel, wenn ich eine ausgelagerte Liste von Benutzern zurücksende, sollte die Data-Eigenschaft als "Benutzer" serialisiert werden, wenn ich eine Liste von Elementen zurücksende, sollte sie "Elemente" usw. heißen.

Ist so etwas möglich:

public class PagedData
{
    [JsonProperty(PropertyName = "Set from constructor")]??
    public IEnumerable<T> 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; }
}

BEARBEITEN

Ich möchte eine Kontrolle über diese Funktionalität haben, z. B. die Übergabe des Namens, der verwendet werden soll, wenn dies möglich ist. Wenn meinclass wird genanntUserDTO, Ich möchte weiterhin, dass die serialisierte Eigenschaft @ heißUsers, nichtUserDTOs.

Beispie

var usersPagedData = new PagedData("Users", params...);

Antworten auf die Frage(10)

Ihre Antwort auf die Frage