Ausgabe von Json mit der Razor View-Engine

7

Ich habe ein dictionary<string,string> als Teil meines Ansichtsmodells. Was ich versuche, ist dieses Objekt zyklisch zu durchlaufen und es als JSON-Objekt auszugeben. Mein Grund dafür ist, dass ich meine Client-Skriptdateien korrekt lokalisieren kann.

Die Ausgabe muss so aussehen wie

%Vor%

Irgendwelche Ideen, wie man das richtig erreicht.

Vielen Dank im Voraus.

    
RubbleFord 06.12.2010, 13:55
quelle

3 Antworten

10

Wenn Sie sich auf mvc 3 befinden, haben Sie Zugriff auf JavaScriptSerializer. Sie sollten Folgendes tun können:

%Vor%

Dies wird Ihr Wörterbuch zu json serialisieren. Sie können dies in der Steuerung vornehmen, bevor Sie die ViewData an die zu rendernde Ansicht senden.

    
Jeremy B. 06.12.2010, 15:11
quelle
15

Es ist in MVC integriert. Gib einfach Json (yourobject) zurück.

    
Matt Sherman 06.12.2010 15:31
quelle
7

Sie können auch die kostenlose Json.NET Bibliothek in Ihren Code integrieren.

Diese Bibliothek leidet nicht unter den Problemen, die JavascriptSerializer mit dem zirkulären Referenzproblem hat.

Dies ist ein Beispiel, das die Bibliothek verwendet, um JSON aus einer Controller-Aktion auszugeben

%Vor%

Wenn Sie diese Aktion ausführen, erhalten Sie die folgenden Ergebnisse

%Vor%

JsonNetResult ist eine einfache benutzerdefinierte Wrapper-Klasse um die Funktionen der Json.NET-Bibliothek.

%Vor%     
Lorenzo 06.12.2010 15:25
quelle