【发布时间】:2013-02-28 16:19:12
【问题描述】:
目前我有一个看起来像这样的类:
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 类,所以我更喜欢一种适用于这两种情况的方法,但我知道这可能是不可能的。
【问题讨论】:
-
日期在 json 中尤为突出。我通常将它们视为字符串并尝试以 javascript 不会尝试解释或管理它们的方式发送它们
标签: c# json serialization asp.net-mvc-4