我需要将一些对象序列化/反序列化为字符串,并将它们作为不透明的数据传输.我可以使用XmlSerializer来完成它,但生成的字符串看起来很笨拙.那么,.NET中是否有任何简洁的Serializer?
我想到的第一件事就是.NET可能有JSON Serializer,但我找不到它.在.NET中是否有任何现成的方法将对象转换为简洁的字符串?
那里有两个;
DataContractJsonSerializer在3.5中
3.5 SP1中的JavaScriptSerializer
在传统方式中,它们并非100%兼容,尤其是re DateTime
; DCJS使用(IIRC)文字字符串; JSS使用new
- 并且两者都无法正确读取.
当然,如果文本是不透明的,你也可以使用任何简洁的二进制序列化器,并简单地对它进行base-64编码; 例如,protobuf-net非常简洁.但是使用JSON可以最大限度地减少每端所需的外部代码,因此可能是您最好的选择.
Json.Net是.NET的JSON库.它在CodePlex中可用.