.NET object to JSON

首先,WCF直接提供了返回JSON对象。

如果我们没有使用WCF,我们可以通过System.Runtime.Serialization.Json.DataContractJsonSerializer类(System.ServiceModel.Web.dll)或System.Web.Script.Serialization.JavaScriptSerializer类(System.Web.Extensions.dll)。

昨天在使用DataContractJsonSerializer类的时候发生件奇怪的事情,同样的代码在我机子上可以运行,在另一台机子上却运行不过。抛出不可序列化的运行时异常。提示需要在序列化的类上加定制特性Serializable,或者类上加DataContract且成员加DataMember。
在类上使用Serializable,会序列化字段,而非属性,输出的不是我想要的(一堆小写的字段,我要的是大写的公有属性)。而使用DataContract和DataMember,则必须每个要输出的属性都加上DataMember,这也比较麻烦,不是我希望的。然后同事找到了JavaScriptSerializer类,

经测试,不需要显式的添加定制特性,它会默认输出所有公有属性。OKay,这便是我想要的。

posted @ 2009-07-04 13:04  朱才  阅读(3236)  评论(5编辑  收藏  举报