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ď č. 1System.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);