2010-06-01 22 views
5

Ich versuche, ein Objekt zu deserialisieren, das von LinqToSql generiert wurde. Der Benutzer darf die Daten des Objekts in der Ansicht bearbeiten und wird dann zurück an die Steuerung gesendet. Die bearbeiteten Daten werden in JSON angezeigt. Wie muss diese Aktion aussehen? wieDeserialisieren von JSON-Objekten in Asp.Net MVC Controller

Etwas ...

public ActionResult(JsonObject json) 
{ 
    MyClass c = Jsonify(json) as MyClass; 
} 

Gibt es eine nette hilfreich statische Klasse im Rahmen I fehlt bin? Oder muss ich einen DataContract erstellen?

Vielen Dank

Antwort

21

System.Web.Script.Serialization.JavaScriptSerializer

public ActionResult Blah(JsonObject json) 
{ 
    JavaScriptSerializer js = new JavaScriptSerializer(); 
    var c = js.Deserialize<MyClass>(json); 
    return View(c); 
} 

EDIT: Oops ... nur bemerkt, dass Sie ein Objekt statt String sind vorbei .... so müssen Sie System.Runtime.Serialization.Json.DataContractJsonSerializer verwenden:

+0

nett, danke (und vielleicht war ich ein wenig zu faul zu rtfm ;-)) –

+0

Ich bin froh, dass ich helfen konnte! –

+2

+1 für update;) –