Die übergabe der Dynamischen JSON-Objekt zum Web-API - Newtonsoft Beispiel

Muss ich weiterleiten einer dynamischen JSON-Objekt, um meine Web-API-controller, so dass ich verarbeiten kann, je nachdem welche Art es ist. Ich habe versucht mit den JSON.NET Beispiel , die hier gesehen werden können, aber wenn ich mit Fiddler kann ich sehen, dass die übergebene JObect ist immer null.

Dies ist ein üben aus dem Beispiel eingefügt, 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 hier ist meine sehr einfache Web-API-controller Methode:

 [HttpPost]
 public JObject PostSavePage(JObject jObject)
 {        
     dynamic testObject = jObject;         
     //other stuff here
 }

Ich bin neu hier und ich habe ein paar Fragen, die in dieser Gegend:

Mache ich etwas falsch in diesem speziellen Beispiel?

Wohl viel wichtiger ist, gibt es einen besseren Weg, um pass in einem dynamischen JSON-Objekt (aus einer JavaScript AJAX-post)?

Sollten Sie stringify Ihre JavaScript-Objekt, bevor Sie an den server. Die Daten (derzeit) in Ihrer Frage nicht stellen gültiges JSON.
Ich war nicht in der Lage, repro, Ihr Problem in einem neu erstellten MVC4 Web.API-Projekt. Ich sende eine Anfrage mit fiddler mit den exakt gleichen Werten und die jObject parameter korrekt mit Daten gefüllt. Vielleicht ist etwas falsch mit Ihrem routing, haben Sie irgendwelche Routen?
Dank nemesv. Ich habe auch versucht ein neues Projekt und du hast Recht, die jObject ist in Ordnung. Ich habe custom-Strecken, so wird ein Blick dort.

InformationsquelleAutor davy | 2012-12-28

Schreibe einen Kommentar