/ / Deserializácia objektov JSON v ovládači Asp.Net MVC - asp.net, asp.net-mvc, json, linq, serializácia

Deserializujte objekty JSON v Asp.Net MVC Controller - asp.net, asp.net-mvc, json, linq, serializácia

Snažím sa deserializovať objekt, ktorý bolgenerované LinqToSql. Užívateľ má právo upravovať údaje objektu v zobrazení a potom ho zaúčtovať späť do radiča. Upravené údaje sa dodávajú v JSON. Ako musí táto akcia vyzerať?

Niečo ako...

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

Existuje v rámci, ktorý mi chýba, príjemná statická trieda? Alebo musím vytvoriť DataContract?

Veľká vďaka

odpovede:

21 pre odpoveď č. 1

System.Web.Script.Serialization.JavaScriptSerializer

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

EDIT: Ľutujeme, len ste si všimli, že namiesto reťazca prechádzate objektom ... takže budete musieť použiť System.Runtime.Serialization.Json.DataContractJsonSerializer:

DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(MyClass));
MyClass c = (MyClass)serializer.ReadObject(json);