Десериализуйте объекты JSON у Asp. Сетевой контроллер MVC

Я пытаюсь десериализовать объект, который был сгенерирован LinqToSql. Пользователю разрешают отредактировать данные объекта в представлении, и затем это становится отправленным назад на контроллер. Отредактированные Данные прибывают в JSON. Как это действие должно быть похожим?

Что-то как...

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

Существует ли хороший полезный статический класс в платформе, которую я пропускаю? Или я должен создать DataContract?

Большое спасибо

6
задан DaveRandom 25 February 2013 в 23:02
поделиться

1 ответ

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);
22
ответ дан 8 December 2019 в 05:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: