将接口对象序列化为JSON

问题描述:

我有许多接口用于在应用程序中传递业务对象。使用Ninject,我可以随心所欲地做任何事情,而无需知道实际对象的类型;在这种情况下,它们中的大多数实际上是各种实现接口的Linq到Sql对象。将接口对象序列化为JSON

例如,我有一个名为Listing的Linq to Sql对象实现了IListing。

我遇到问题的地方在于序列化。我试过使用内置的JsonResult和JsonNet。他们都试图序列化实际的Linq to Sql对象,而不仅仅是接口类型中定义的属性。这会导致循环引用问题,但更大的问题是我只希望在接口中定义的属性被序列化并传递。

那么,有没有一种优雅的方式来序列化只是在我传递给序列化程序的接口的实例中定义的属性?

+0

我看,你可以做一个选择的方法JsonNet这可能会在这里工作:http://james.newtonking.com/projects/json/help/SerializationAttributes.html。 – Dusda 2010-10-29 21:12:27

+0

我希望的东西有点少装饰,可以这么说。 – Dusda 2010-10-29 21:12:47

你可以定义只包含您需要的属性,然后用AutoMapper你的域对象之间的转换这种类型将被用于序列化一个新的传输类型。