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 を取得できるようにすることには、セキュリティ上の影響があり、独自のアプリでこれを許可する前に注意する必要があります。