MVC4 Aktion, die JsonResult ohne Null zurückgibt

8

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?

    
Farlop 08.11.2012, 17:16
quelle

3 Antworten

6

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%     
Farlop 09.11.2012, 09:35
quelle
1

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.

    
Brad Christie 08.11.2012 20:09
quelle
0

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.

    
Brad Thomas 08.11.2012 20:07
quelle

Tags und Links