4

私のMVC4プロジェクトでは、次のようなコントローラーアクションがあります。

public ActionResult GetJson()
{
    var serialized = JsonConvert.SerializeObject(DateTime.Now);
    return Json(DateTime.Now, JsonRequestBehavior.AllowGet);
}

ブラウザへの応答は、古いASP.NET形式です。

"/ Date(1358987787691)/"

ただし、MVC4はデフォルトでjson.netを使用し、json.netは日付にISO8601形式を使用することを知っています。

上記のコードでは、シリアル化された変数には(私が欲しいもの)が含まれています:

"\" 2013-01-24T13:39:12.7182079 + 13:00 \ ""

なぜreturnJson(DateTime.Now)は(一見)json.netを使用しないのですか?

また、global.asxに次の行を入れてみました。

var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
json.UseDataContractJsonSerializer = false;

しかし、役に立たない。

4

1 に答える 1

1

コントローラー ファクトリにいくつかの変更を加えて、標準コントローラーから継承されたコントローラーを作成できますが、カスタム json フォーマッターを使用します。

于 2013-01-24T00:47:58.920 に答える