Geben Sie JsonResult ohne seine Eigenschaften von der Web-API zurück

Ich habe einen Web-API-Controller und von dort gebe ich ein Objekt als JSON von einer Aktion zurück.

Ich mache das so:

public ActionResult GetAllNotificationSettings()
{
    var result = new List<ListItems>();
    // Filling the list with data here...

    // Then I return the list
    return new JsonResult { Data = result };
}

Aber auf diese Weise wird das JsonResult-Objekt einschließlich seinerData Attribut wird als JSON serialisiert. Mein endgültiger JSON, der von der Aktion zurückgegeben wird, sieht also so aus:

{
    "ContentEncoding": null,
    "ContentType": null,
    "Data": {
        "ListItems": [
            {
                "ListId": 2,
                "Name": "John Doe"
            },
            {
                "ListId": 3,
                "Name": "Jane Doe"
            },
        ]
    },
    "JsonRequestBehavior": 1,
    "MaxJsonLength": null,
    "RecursionLimit": null
}

Ich kann diesen JSON-String nicht serialisieren, weil derJsonResult object hat alle möglichen anderen Eigenschaften hinzugefügt. Ich interessiere mich nur fürListItems, nichts anderes. Aber es fügte automatisch Dinge hinzu wie:ContentType, MaxJsonLength usw...

Das funktioniert jetzt bei mir nicht mehr, da alle anderen Eigenschaften in der JSON-Zeichenfolge vorhanden sind ...

var myList = JsonConvert.DeserializeObject<List<ListItems>>(jsonString);

Gibt es eine Möglichkeit, ein JSON-Objekt von der Aktion aus zu senden, sodass nicht alle Eigenschaften hinzugefügt werden, die ich nicht benötige?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage