我有一個對象,它看起來是這樣的:Newtonsoft JsonConvert,覆蓋當前的IEnumerable項目
Public Class ExportOptions
Public Sub New()
CategoryIDs = {New Guid("30ndd837-7a2c-477c-b892-67f129f7af4e")}
End Sub
Property CategoryIDs As IEnumerable(Of Guid)
End Class
然後我反序列化JSON像這樣:
Newtonsoft.Json.JsonConvert.DeserializeObject(Of ExportOptions)(JSONString)
問題是在價值觀JSON沒有進入CategoryIDs屬性?相反,我只剩下構造函數中使用的單個值。
如果我改變CategoryIDs到一個List(GUID的),那麼新categoryIDs被添加到列表中,當我需要他們來覆蓋當前的項目。
在構造函數中添加的值是一個默認值,並且在客戶端沒有傳遞任何東西的情況下必須存在。
感謝羅伊,這是我目前回落的解決方案。因爲實際的解決方案使用接口,並且在整個解決方案中會有許多這樣的類以及不同的列表,所以儘可能自動化會很好! – pingoo 2012-02-03 15:11:57
@ Rene147如果你不想碰序列化類可行的替代方案:不是默認加入的項目列表,訪問它使用CategoryIDs.DefaultIfEmpty(新的GUID(「30ndd837-7a2c-477C-b892-67f129f7af4e時「)) – 2012-02-03 15:15:31