Muszę przekazać dynamiczny obiekt JSON do mojego kontrolera Web API, aby móc go przetworzyć w zależności od jego typu. Próbowałem przy użyciu przykładu JSON.NET that can be seen here, ale kiedy używam Fiddler, widzę, że przekazane w JObect jest zawsze zerowe.Przekazywanie dynamicznego obiektu JSON do interfejsu API WWW - Newtonsoft Przykład
To wywierają na przykładzie wklejony Skrzypek:
POST http://localhost:9185/api/Auto/PostSavePage/ HTTP/1.1
User-Agent: Fiddler
Content-type: application/json
Host: localhost
Content-Length: 88
{AlbumName: "Dirty Deeds",Songs:[ { SongName: "Problem Child"},{ SongName:
"Squealer"}]}
Ans Oto mój bardzo prosty sposób kontroler Web API:
[HttpPost]
public JObject PostSavePage(JObject jObject)
{
dynamic testObject = jObject;
// other stuff here
}
Jestem nowy w tym i mam kilka pytań w tym obszarze:
Czy robię coś złego w tym konkretnym przykładzie?
Czy istnieje, co ważniejsze, lepszy sposób przekazywania dynamicznego obiektu JSON (z posta JavaScript AJAX)?
Powinieneś uszeregować swój obiekt JavaScript przed umieszczeniem go na serwerze. Dane pokazane (obecnie) w twoim pytaniu nie reprezentują prawidłowego JSON. – Perception
Nie mogłem zgłosić problemu w nowo utworzonym projekcie MVC4 Web.API. Wysyłam żądanie z skrzypkiem z dokładnie tymi samymi wartościami, a parametr 'jObject' jest poprawnie wypełniony danymi. Może coś jest nie tak z routingiem, czy masz jakieś niestandardowe trasy? – nemesv
Dzięki nemesv. Próbowałem również nowego projektu i masz rację, jObject jest w porządku. Mam niestandardowe trasy, więc będę tam wyglądać. – davy