jquery で JSON 文字列を作成しました。それを C# Web API コントローラーに送信したいと考えています。
これは JSON オブジェクトの例です
{"Name":"","Type":"4","Meals":["2","3"],"Excludes":["Beef","Chicken"]}
こんなURLで送ってみた
API/Recipe/Search?json={"Name":"","Type":"4","Meals":["2","3"],"Excludes":["Beef","Chicken"]}
私のコントローラーを次のように使用します。
public class RecipeController : ApiController
{
[HttpGet]
public string Search(searchObject json)
{
return "Asdasd";
}
}
そしてこのように
public class RecipeController : ApiController
{
[HttpGet]
public string Search(string json)
{
searchObject search = (searchObject)JsonConvert.DeserializeObject(json);
return "Asdasd";
}
}
ただし、どちらの場合も、コントローラーはそれを取得しません。MVC4を使用しています。
これが私が呼び出しを行うために使用しているJqueryです。apiLink は、私が上に投稿したリンクです。
$.getJSON(apiLink, function (data) {
var items = [];
$.each(data, function (key, val) {
items.push('<li id="' + key + '">' + val + '</li>');
});
$('<ul/>', {
'class': 'my-new-list',
html: items.join('')
}).appendTo('body');
});
コントローラーが JSON オブジェクトを受け取るようにするにはどうすればよいですか?
ありがとう