Devo passare un oggetto JSON dinamico al mio controller API Web in modo che possa elaborarlo a seconda del tipo. Ho provato a utilizzare l'esempio JSON.NET that can be seen here ma quando uso Fiddler, posso vedere che il passato in JObect è sempre nullo.Passare l'oggetto Dynamic JSON all'API Web - Newtonsoft Esempio
Questo è un esercitano dall'esempio incollato in Fiddler:
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 Ecco il mio metodo molto semplice controller Web API:
[HttpPost]
public JObject PostSavePage(JObject jObject)
{
dynamic testObject = jObject;
// other stuff here
}
io sono nuovo a questo e ho un paio di domande intorno a quest'area:
Sto facendo qualcosa di sbagliato in questo particolare esempio?
Probabilmente, ancora più importante, c'è un modo migliore per passare in un oggetto JSON dinamico (da un post AJAX JavaScript)?
È necessario stringificare l'oggetto JavaScript prima di pubblicarlo sul server. I dati mostrati (attualmente) nella tua domanda non rappresentano JSON validi. – Perception
Non ero in grado di riproire il problema in un progetto WebCAP4 MVC4 appena creato. Invio una richiesta con il violinista con gli stessi identici valori e il parametro 'jObject' è riempito correttamente con i dati. Forse qualcosa non va nel tuo percorso, hai percorsi personalizzati? – nemesv
Grazie nemesv. Ho anche provato un nuovo progetto e hai ragione, il jObject va bene. Ho percorsi personalizzati, quindi dare un'occhiata lì. – davy