我正在尝试反序列化由LinqToSql生成的对象。允许用户编辑视图中对象的数据,然后将其发布回控制器。编辑的数据以JSON格式提供。这个动作看起来怎么样?
像...一样的东西。
public ActionResult(JsonObject json)
{
MyClass c = Jsonify(json) as MyClass;
}
我缺少框架中有一个很好的有用的静态类吗?或者我是否必须创建DataContract?
非常感谢
答案 0 :(得分:21)
System.Web.Script.Serialization.JavaScriptSerializer
public ActionResult Blah(JsonObject json)
{
JavaScriptSerializer js = new JavaScriptSerializer();
var c = js.Deserialize<MyClass>(json);
return View(c);
}
编辑:糟糕...只是注意到你传递的是一个对象而不是字符串......所以你需要使用System.Runtime.Serialization.Json.DataContractJsonSerializer:
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(MyClass));
MyClass c = (MyClass)serializer.ReadObject(json);