当前位置:  开发笔记 > 编程语言 > 正文

什么是.NET对象最灵活的序列化,但易于实现?

如何解决《什么是.NET对象最灵活的序列化,但易于实现?》经验,为你挑选了1个好方法。

我想序列化和反序列化对象,而不必担心整个类图.

灵活性是关键.我希望能够序列化传递给我的任何对象,而不需要整个对象图中所需的完整属性.

这意味着二进制序列化不是一个选项,因为它只适用于其他.NET平台.我也想要一个人可读的东西,因此可以通过管理程序和其他口译员来辨认.

我发现使用DataContract,JSON和XML Serializer时遇到了问题.

大多数这些错误似乎都围绕列表/字典的序列化(即XML Serializable Generic Dictionary).

"将静态未知的任何类型添加到已知类型列表中 - 例如,通过使用KnownTypeAttribute属性或将它们添加到传递给DataContractSerializer的已知类型列表中."

请根据实际经验而不是理论或阅读文章来回答您的答案.



1> James Newton..:

您是否考虑过序列化为JSON而不是XML?

Json.NET有一个非常强大而灵活的序列化程序,它对Hashtables /泛型字典没有任何问题,并且不需要任何特定的属性.我知道因为我写了:)

它通过序列化程序上的各种选项为您提供大量控制,并允许您通过为其创建JsonConverter来覆盖类型的序列化方式.

在我看来,JSON比XML更具人类可读性,Json.NET提供了编写格式良好的JSON的选项.

最后,该项目是开源的,因此您可以进入代码并根据需要进行修改.

推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有