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?