2011-10-02 75 views
2

該類C#自定義JSON序列

class X{ 
    public string a{get;set} 
    public string b{get;set} 
} 

被序列像

{..., inst:{a:"value", b:"value"}, ...} 

我需要我的類的對象進行序列化這樣的:

{..., inst: x, ...} 

其中x是+ b 如何從我的課程中自定義JSON序列化過程?

回答

2

結帳Newton-softs JSON序列化程序。它非常甜。

你有沒有試圖使A和B私人,再有這樣的事

public string x { get { return a + b; } } 
+0

關於sum-property的好主意,但是我首先從數據庫反序列化這個對象,所以我需要這些字段是公開的。所以我會用牛頓圖書館,遺憾的是從框中沒有解決方案。 – FLCL

+0

考慮爲你的持久化模型和視圖模型(或者你正在序列化爲Json的東西)使用專用類。我發現這是避免這些問題的最簡單的方法。如果模型之間的映射過於複雜,請考慮使用automapper來管理它。 –

1

嘗試像這樣

class X{ 
    public string a{private get;set;} 
    public string b{private get;set;} 
    public string x {get{ return a + b; }} 
} 

擁有一個私人得到序列中刪除,但仍允許其是組。另一種選擇是這樣做。

class X{ 
    public string a{set;} 
    public string b{set;} 
    public string x {get{ return a + b; }} 
}