两者有什么区别?你为什么要用一个呢?
答案 0 :(得分:14)
在此处找到:http://aaron-powell.spaces.live.com/blog/cns!91A824220E2BF369!150.entry
<强> DataContractJsonSerializer 强> DataContractJsonSerializer的主要用途是与WCF一起使用,因为一个序列化是WCF的一个重点。此外,它还可以更好地处理复杂的类,这些类只有某些属性可用于序列化。 这个类的类型更强,对它处理的类型有更多的了解,对于格式错误的JSON有更好的错误处理。
<强> JavaScriptSerializer 强> 另一方面,这门课程更适合快速序列化,这是一种更牛仔的方法。错误检查较少,对序列化的属性控制较少。
更新
由于上述链接已失效,此处是另一个链接:http://kb.cnblogs.com/a/1454030。
答案 1 :(得分:9)
就个人而言,我会看Json.NET - 这样做的优点是兼容.NET 2.0
答案 2 :(得分:1)
JavaScriptSerializer在框架3.5中标记为已过时。你不应该因此而使用它。但是,回到你的问题。 JavaScriptSerializer不要求将类标记为[Serializable]或[DataContract],而是将DataContractJsonSerializer标记为。如果您编译的类无法使用属性标记,则可能需要使用较旧的JSON序列化程序。