0

DataContractSerializerDataContractJsonSerializer有什么区别?等级,用途和速度有什么区别吗?

4

2 回答 2

7

直接来自 MSDN

DataContractSerializer---使用提供的数据协定将类型的实例序列化和反序列化为XML流或文档。这个类不能被继承。

DataContractJsonSerializer---将对象JavaScript Object Notation (JSON)序列化为对象,将 JSON 数据反序列化为对象。这个类不能被继承。

在速度上我认为 json 可能会更快

于 2013-09-27T00:46:33.087 回答
3

除了明显的序列化格式差异外,各个序列化程序能够处理的内容也存在限制。

特别是,DataContractSerializer能够通过将构造函数的属性设置为来处理循环引用。无法处理这种情况,因为 JSON 中没有引用的标准化表示(根据错误消息)IsReferenceDataContractAttributetrueDataContractJsonSerializerWriteObject

于 2013-11-14T14:14:06.417 回答