Ich habe eine Aktion, die ein JsonResult für ein Objekt einer bestimmten Klasse zurückgibt. Ich habe die Eigenschaften dieser Klasse mit einigen Attributen dekoriert, um Nullfelder zu vermeiden. Klassendefinition ist:
%Vor%Und in meiner Aktion verwende ich ein Objekt
%Vor%was ich zurückgebe mit:
%Vor%Leider erhalte ich immer noch Nullwerte bei der Ausgabe:
%Vor%Vermisse ich etwas oder mache ich etwas falsch?
Wie von Brad Christie angegeben, verwendet MVC4 stills JavaScriptSerializer. Um also Ihr Objekt von Json.Net serialisieren zu lassen, müssen Sie mehrere Schritte ausführen.
Erben Sie zuerst eine neue Klasse JsonNetResult von JsonResult wie folgt (basierend auf diese Lösung ):
%Vor%Überschreibe dann in deinem Controller die Json-Methode, um die neue Klasse zu verwenden:
%Vor% Controller.Json
verwendet das JavaScriptSerializer
nicht die Newtonsoft Json-Bibliothek (wo ist die JsonPropertyAttribute
stammt von).
Sie müssen entweder die Newtonsoft-Bibliotheksbibliothek verwenden und das serialisierte Ergebnis auf diese Weise zurückgeben, oder Sie rufen weiterhin Json
auf und schreiben ein converter , der Nullen ignoriert.
Mein Vorschlag wäre, zu sehen, was passiert, wenn Sie nur ein GanttEvent-Objekt zu JSON serialisieren. Überprüfen Sie auch Ihren Anruf zu Json ist geeignet.
Tags und Links asp.net-mvc json asp.net-mvc-4