将接口对象序列化为JSON

4
我在我的应用程序中使用多个接口来传递业务对象。使用Ninject,我可以对它们进行任何操作,而不需要知道实际对象的类型;在这种情况下,它们大多是实现接口的各种Linq to Sql对象。
例如,我有一个名为Listing的Linq to Sql对象,它实现了IListing接口。
我的问题出在序列化上。我尝试过使用内置的JsonResult和JsonNet。它们都试图序列化实际的Linq to Sql对象,而不仅是接口类型中定义的属性。这会导致循环引用问题,但更大的问题是我只想序列化和传递接口中定义的属性。
那么,有没有一种优雅的方法可以仅序列化我传递给序列化器的接口实例中定义的属性?

我看到你可以对JsonNet采用选择加入的方法,这可能适用于此处:http://james.newtonking.com/projects/json/help/SerializationAttributes.html。 - Dusda
我希望有一些更加简洁的东西,可以这么说。 - Dusda
1个回答

0
你可以定义一个新的传输类型,仅包含你需要的属性,然后使用AutoMapper将你的领域对象转换为这种类型,该类型将用于序列化。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接