Pracuję na stronie internetowej, która będzie publikować obiekt JSON (przy użyciu metody jQuery Post) po stronie serwera.W środowisku ASP.NET MVC deserialize JSON przed lub w działaniu akcji kontrolera
{
"ID" : 1,
"FullName" : {
"FirstName" : "John",
"LastName" : "Smith"
}
}
W tym samym czasie napisałem klasy po stronie serwera dla tej struktury danych.
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; }
}
Po uruchomieniu witryny z następującym kodem w klasie kontrolera właściwość FullName nie jest przekształcana w postaci szeregowej. Co ja robię źle?
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Submit(User user)
{
// At this point, user.FullName is NULL.
return View();
}
MVC nie obsługuje JSON deserializacji out-of-the-box, ale rozważamy dodanie go do wersji 2. W międzyczasie możesz użyć JavaScriptSerializer, aby przekształcić treść żądania w w pełni nawodniony obiekt użytkownika. – Levi
@Levi - to powinno być stanowisko odpowiedzi;) – womp
To dziwne; w jakiś sposób właściwość ID została poprawnie zserializowana. Gdybym używał JavaScriptSerializer, czy parametrem wejściowym do Submit() byłby typ Object? – weilin8