C# Json库 和 xml 序列化反序列化 存在的问题

json 正常情况下不会对私有成员进行序列化和反序列化, 因此在用json做深拷贝时, 就会丢失数据。

解决办法: 
     声明成公有成员。


json在序列化和反序列化时, 如果类中有ICommand 成员, 可能会序列化失败。 因此json的应用在wpf中尽量只对Model层进行。


json在对一个基类对象声明,而实际是派生类对象  进行序列化反序列化时, 序列化时的字符串正确, 但是反序列化因为声明的是基类,因此最后是一个基类的对象, 导致派生类对象的 数据丢失。 解决办法, 可能这时候用xml序列化或者反序列化更好。


xml序列化反序列化的问题是 针对Dictionary对象 序列化不成功, 除非自己对Dictionay进行序列化接口实现。 这个时候可能用json更好点。



可以用[XmlIgnore]或者[JsonIgnore]分别控制xml和json序列化时  是否忽略属性序列化。
posted @ 2013-07-02 11:37  muzizongheng  阅读(420)  评论(0编辑  收藏  举报
如果我们时时忙着展现自己的知识, 将何从忆起成长所需的无知?