Как работает сериализация MVC asp.net для объекта Json в действиях контроллера? - PullRequest
2 голосов
/ 07 сентября 2011

Как работает сериализация MVC asp.net для объекта Json в действиях контроллера?

Например, у меня есть пользовательский объект, и если отправить на сервер действие ajax с объектами JSON

public ActionResult(List<CustomObject> abc)
{
   // Object is serialized automatically how MVC is doing it is the question.
}

Причина, по которой я спрашиваю это, состоит в том, что некоторые мои объекты не сериализуются должным образом, и, следовательно, происходит потеря данных, поэтому я должен вернуться к старому методу строкового значения для сериализации.

public ActionResult(string abc)
{ 
   JavaScriptSerializer serializer = new JavaScriptSerializer();

   List<CustomObject> lstabc = serializer.Deserialize<List<CustomObject>>(abc);
}

Чего я хотел бы избежать, и, во-вторых, какие библиотеки лучше всего подходят для выполнения сериализации объектов JSON MVC Asp.net?

1 Ответ

1 голос
/ 07 сентября 2011

Об десериализации отвечает связыватель модели.

Если вы обнаружите, что он не работает, вы можете создать свой собственный связыватель модели и зарегистрировать его в платформе - это должно означать, что вы можете избежать всехэтот шум десериализации в ваших контроллерах.

Существуют некоторые ссылки на объяснения этого и того, как реализовать привязку пользовательской модели в следующем вопросе SO:

Объяснение привязки пользовательской модели ASP.Net MVC

Одной из наиболее популярных библиотек сериализации json является библиотека newtonsoft json.net - я эффективно использовал ее много раз:

http://james.newtonking.com/pages/json-net.aspx

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...