2012-09-17 121 views
11

我的類有一個屬性'PropertyA',我希望它在序列化時在JSON對象中顯示爲'PropertyB'。有什麼我可以使用的屬性?更改序列化的屬性名稱

+3

哪些JSON序列您使用的? JavaScriptSerializer? JSON.NET? DataContractJsonSerializer? ...? –

+0

您使用的是什麼JSON序列化庫? – AlSki

+0

對不起,應該已經提供了更多細節 - DataContractJsonSerializer就是我正在使用的。謝謝。 –

回答

20

當然。

Json.NETDataContractJsonSerializer使用DataMemberAttributehttp://msdn.microsoft.com/en-us/library/ms574795

只是裝點你的財產

[DataMember(Name="PropertyB")] 
T PropertyA { ... } 

如果你使用的JavaScriptSerializer,你需要創建派生實現,如下所述: JavaScriptSerializer.Deserialize - how to change field names

+0

非常感謝,發現。 –

+0

,如果我沒有權限更改DataMenber屬性?我可以在序列化時添加一個翻譯器或類似的東西嗎? – rolivares

+0

http://stackoverflow.com/questions/13091862/change-the-way-json-net-serializes-property-names – Bartosz

相關問題