如果反序列化對(duì)象的所有字段都保持為 null,無(wú)一例外,請(qǐng)檢查您的基類(lèi)是否具有 [DataContract] 屬性,這會(huì)使 Json.net 忽略沒(méi)有 [DataMember] 的每個(gè)屬性。很抱歉代碼量很大,但我無(wú)法縮小導(dǎo)致問(wèn)題的原因。我有這個(gè)帶有 AssetViewMo屬性是相同的,除了在此類(lèi)中它們具有用于 WPF 綁定的帶有 NotifyOfPropertyChange() 的支持字段。我將其中一些更改為具體類(lèi)型,因?yàn)槲艺J(rèn)為這可能會(huì)引起一些麻煩,但沒(méi)有幫助。如果使用 AssetViewModel2 反序列化,結(jié)果的所有屬性都將保持為 null,并且我沒(méi)有得到任何異常。我在 AssetViewModel2 中做錯(cuò)了什么?
1 回答

蕭十郎
TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超13個(gè)贊
問(wèn)題出在基類(lèi)中。我正在使用 Caliburn micros PropertyChangedBase。該類(lèi)有一個(gè) [DataContract] 屬性,這使得有必要將 [DataMember] 屬性添加到應(yīng)該被反序列化的屬性中。
解決方案:
復(fù)制沒(méi)有 [DataContract] 屬性的類(lèi)并將 [JsonIgnore] 添加到 IsNotifying 或
將 [DataMember] 屬性添加到每個(gè)應(yīng)該被反序列化的屬性。
- 1 回答
- 0 關(guān)注
- 384 瀏覽
添加回答
舉報(bào)
0/150
提交
取消