Estoy trabajando en un sitio web que publicará un objeto JSON (utilizando el método jQuery Post) en el lado del servidor.En ASP.NET MVC, deserialize JSON antes o en el método de acción del controlador
{
"ID" : 1,
"FullName" : {
"FirstName" : "John",
"LastName" : "Smith"
}
}
Al mismo tiempo, escribí clases en el servidor para esta estructura de datos.
public class User
{
public int ID { get; set; }
public Name FullName { get; set;}
}
public class Name
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
Cuando ejecuto el sitio web con el siguiente código en mi clase de controlador, la propiedad FullName no se deserializa. ¿Qué estoy haciendo mal?
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Submit(User user)
{
// At this point, user.FullName is NULL.
return View();
}
MVC no soporta deserialización JSON fuera de la caja, pero estamos considerando agregarlo para v2. Mientras tanto, puede usar el JavaScriptSerializer para convertir el cuerpo de la solicitud en un objeto User completamente hidratado. – Levi
@Levi - eso debería ser una publicación de respuesta;) – womp
Eso es raro; de alguna manera, la propiedad de ID se deserializó correctamente. Si tuviera que usar JavaScriptSerializer, ¿el parámetro de entrada a Submit() sería type Object? – weilin8