我需要使用Json.net将我的对象序列化到客户端,它的功能非常出色。但是,我希望扩展它的行为,以便在序列化期间使用更多属性,特别是来自Data Annotations命名空间的属性。
这是一个例子: 我需要输出一个日期,而不是将日期发送到客户端,并在那里格式化,我想控制服务器端输出的格式。
[DisplayFormat(DataFormatString = "{0:d}")]
public DateTime BirthDate { get;set;}
我查看了使用转换器来处理这个问题,但是在执行转换器的阶段,它没有引用返回声明属性的成员信息,因此我无法检查该属性。我假设我需要覆盖/扩展IContractResolver行为,但是关于所有部分如何适合的文档很少,例如JsonContract等。
我只需要指出整个事情是如何挂在一起的,我会把剩下的工作完成。提前感谢任何有帮助的人。