我想序列化和反序列化对象,而不必担心整个类图。
灵 active 是关键。我希望能够序列化传递给我的任何对象,而无需整个对象图中所需的完整属性。
That means that Binary Serialization is not an option as it only works with the other .NET Platforms. I would also like something readable by a person, and thus decipherable by a management program and other interpreters.
我在使用 DataContract、JSON 和 XML 序列化程序时发现了问题。
- 这些错误中的大多数似乎都围绕列表/字典的序列化(即 XML Serializable Generic Dictionary)。
- "添加任何静态未知的类型 到已知类型的列表 - 对于 例如,通过使用 KnownTypeAttribute 属性或由 将它们添加到已知列表中 传递给的类型 DataContractSerializer。”
请根据实际经验而不是理论或阅读文章来回答。
最佳答案
您是否考虑过序列化为 JSON 而不是 XML?
Json.NET有一个非常强大和灵活的序列化程序,它对 Hashtables/通用字典没有问题,并且不需要任何特定的属性。我知道是因为我写的:)
它通过序列化程序上的各种选项为您提供大量控制,并允许您通过为其创建 JsonConverter 来覆盖类型的序列化方式。
在我看来,JSON 比 XML 更易于阅读,而 Json.NET 提供了编写格式良好的 JSON 的选项。
最后,该项目是开源的,因此您可以在需要时单步执行代码并进行修改。
关于c# - .NET 对象最灵活的序列化是什么,但实现起来很简单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/106599/