2010-10-29 147 views
4

我有許多接口用於在應用程序中傳遞業務對象。使用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

回答

0

你可以定義只包含您需要的屬性,然後用AutoMapper你的域對象之間的轉換這種類型將被用於序列化一個新的傳輸類型。