如果反序列化对象的所有字段都保持为 null,无一例外,请检查您的基类是否具有 [DataContract] 属性,这会使 Json.net 忽略没有 [DataMember] 的每个属性。很抱歉代码量很大,但我无法缩小导致问题的原因。我有这个带有 AssetViewMo属性是相同的,除了在此类中它们具有用于 WPF 绑定的带有 NotifyOfPropertyChange() 的支持字段。我将其中一些更改为具体类型,因为我认为这可能会引起一些麻烦,但没有帮助。如果使用 AssetViewModel2 反序列化,结果的所有属性都将保持为 null,并且我没有得到任何异常。我在 AssetViewModel2 中做错了什么?
1 回答
萧十郎
TA贡献1815条经验 获得超13个赞
问题出在基类中。我正在使用 Caliburn micros PropertyChangedBase。该类有一个 [DataContract] 属性,这使得有必要将 [DataMember] 属性添加到应该被反序列化的属性中。
解决方案:
复制没有 [DataContract] 属性的类并将 [JsonIgnore] 添加到 IsNotifying 或
将 [DataMember] 属性添加到每个应该被反序列化的属性。
- 1 回答
- 0 关注
- 320 浏览
添加回答
举报
0/150
提交
取消