現在、次のようなクラスがあります。
public class TestSerilizer
{
public int IntValue;
public DateTime DTValue;
}
そして、JSONにシリアル化されたクラスを返すコントローラーは次のようになります。
public ActionResult TestJson()
{
TestSerilizer testDT = new TestSerilizer();
return Json(testDT);
}
これにより、JSONのよう/Date(123456)/
に見える日付が生成されることはよく知られていますが、これは望ましいとは言えません。私の目的のために、自分の見解に合った方法で日付をフォーマットする属性を追加できるようにしたいと思います。理想的には、ビューモデルを次のように変更したいと思います。
public class TestSerilizer
{
public int IntValue;
[JSONDateFormatter("hh:mm tt")]
public DateTime DTValue;
}
これにより、フォーマットされた日付のJSONデータが生成されます。JSONシリアル化を乗っ取ってそのようなことをする方法はありますか?これは、この暗黙的なJSONシリアル化とJavaScriptSerializer
クラスの明示的な使用の両方を備えた大規模なコードベースであるため、両方の状況で機能するメソッドをお勧めしますが、それが不可能な場合があることを理解しています。