在公司做项目,同事有遇到Json序列化的问题。主要是在.net下将对象序列化返回给调用者时不知道该选择哪一种序列化方案。
我也研究了一下,在.net下有DataContractJsonFormatter, 也有Json.net软件包。如果是自己处理序列化和反序列化可以直接引用这两个方法中的一个。
但如果是做为云端API的话,比较方便的还是用asp.net Web API. 它已经在Http管道处理中为你自动加入了序列化和反序列化,缺省用的是JsonMediaTypeFormatter,这个类是用json.net。当然你可以换掉缺省的序列化处理器。
在对Model类进行DataContract标记后,里面的property用DataMember标记的属性将被序列化处理,不论是public还是private, Readonly的属性缺少下会被序列化,序列化的日期time zone和foramte都可以用代码指定。Json的缩进以及书写方式也可以自定义
Web API同时支持XML序列化器。
以上信息摘自http://www.asp.net/web-api/overview/formats-and-model-binding/json-and-xml-serialization
Mike Wasson大神的Blog.感谢他写出的文章如些言简意陔!