Json()
メソッド onは、Controller
実際には新しい を作成するヘルパー メソッドですJsonResult
。このクラス*のソース コードを見ると、実際にはそれほど多くのことを行っていないことがわかります。コンテンツ タイプを に設定し、application/json
を使用してデータ オブジェクトをシリアル化JavaScriptSerializer
し、結果の文字列を書き込むだけです。これを複製できます。ContentResult
代わりにコントローラーからa を返すことで、動作 (既に行っているため、シリアライゼーションを差し引いたもの) 。
public ActionResult JsonData(int id) {
var jsonStringFromSomewhere = "{ 'val': 'apple' }";
// Content() creates a ContentResult just as Json() creates a JsonResult
return Content(jsonStringFromSomewhere, "application/json");
}
* MVC2 以降でJsonResult
は、ユーザーが (POST とは対照的に) HTTP GET 要求を行っている場合にも例外がスローされます。ユーザーが HTTP GET を使用して JSON を取得できるようにすることには、セキュリティ上の影響があり、独自のアプリでこれを許可する前に注意する必要があります。