Web APIコントローラに動的JSONオブジェクトを渡して、どのタイプのもので処理できるようにする必要があります。私はJSON.NETの例であるthat can be seen hereを使用しようとしましたが、Fiddlerを使用すると、JObectで渡されたものが常にnullであることがわかります。動的JSONオブジェクトをWeb APIに渡す - Newtonsoft例
これはフィドラーに貼り付ける例から発揮される:
[HttpPost]
public JObject PostSavePage(JObject jObject)
{
dynamic testObject = jObject;
// other stuff here
}
私はこれに新しいですし、私がいくつかあります:ここ
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は私の非常に単純なWeb APIコントローラメソッドがあります
この特定の例で何か問題がありますか?
もっと重要なのは、JavaScriptのAJAXポストの動的JSONオブジェクトを渡す方が良いでしょうか?
JavaScriptオブジェクトをサーバーに送信する前に、JavaScriptオブジェクトをストリング化する必要があります。あなたの質問に(現在)表示されているデータは、有効なJSONを表していません。 – Perception
新しく作成したMVC4 Web.APIプロジェクトで問題を再現することができませんでした。私は正確に同じ値を持つfiddlerでリクエストを送信し、 'jObject'パラメータは適切にデータで埋められます。あなたのルーティングに何か問題があるかもしれません。カスタムルートはありますか? – nemesv
ありがとうございました。私も新しいプロジェクトを試してみました。そしてあなたが正しいです、jObjectは上手です。私はカスタムルートを持っているので、そこに見えるだろう。 – davy