在.NET 3.5 SP1之后,JavaScriptSerializer不会过时。我应该使用JavaScriptSerializer还是先前推荐的DataContractJsonSerializer ?.也为什么它被淘汰?为什么microsoft使JavaScriptSerializer在.net 3.5 SP1之前废弃,并在此之后再次激活?
回答
我很乐意使用JavaScriptSerializer
- 但如果有疑问,请考虑第三个选项 - Json.NET。因为它是第三方,所以与MS的决定无关......当然这是一把双刃剑 - 但是将小修正应用于独立的第三方库文件通常更容易。
我还没有看到确切的解释。当JavaScriptSerializer过时时,有不少人感到不安。
斯科特顾在他的博客上写了this comment说他认为把它标记为过时没有意义。
JavaScriptSerializer目前已被标记为废弃 - 尽管我不确定为什么(今天要问某人这件事)。这非常方便。请注意,过时的并不意味着在.NET 3.5中删除 - 它将至少支持另一个版本或两个版本(如果我能说服它们,则会更长)。
我想也许他并说服他们:-)
我继续使用JavaScriptSerializer作为其更直比DataContractJsonSerializer前进。
由于MVC团队严重使用JavaScriptSerializer,因此自从MVC发现这种情况以后,它不太可能会在未来丢失。 – 2010-01-05 04:20:28
当然[webAPI使用Json.Net](https://blogs.msdn.microsoft.com/henrikn/2012/02/17/using-json-net-with-asp-net-web-api/)作为标准。所以微软不再需要使用这些技术。我相信有关于将web api技术与MVC相结合的讨论,所以这种依赖性持续多久仍然存在问题。国际海事组织Json.Net每次都获胜。 – Liam 2017-04-04 13:16:08
- 1. GetTemplateChild .Net 3.5中已废弃,FrameWorkTemplate.FindName和ControlTemplate.FindName之间的区别是什么
- 2. 再次激活之前点击需要完成
- 3. 为什么在执行saveAndFlush之前,hibernate再次加载实体?
- 4. 安装.Net 4.0 RC之后安装.Net 3.5 SP1是否安全?
- 5. 为什么URI.escape()被标记为废弃,并且此REGEXP :: UNSAFE常量在哪里?
- 6. Microsoft .Net Framework 3.5 SP1安装失败
- 7. 废弃代码与废弃代码之间的区别
- 8. MSCharts&.NET 3.5 SP1
- 9. 键控事件在键控之前激活,只有一次
- 10. NET 3.5 SP1更改为ASP.NET
- 11. 告诉IPython在Dill激活后再次使用Pickle
- 12. appendTo元素之后再次
- 13. 为什么在UIView再次添加到父级之前deinit不会被调用?
- 14. 在MATLAB中如何在特定点之后取值并放弃之前的值?
- 15. MySQL在日期之前与SUM之前加SUM并在此日期之前
- 16. 检测VC++可再分发ATL SP1(安装开始之前)
- 17. 使用服务器激活对象使用.NET Remoting时,SingleCall和Singleton激活之间的折衷是什么?
- 18. 线图对.NET框架之前3.5
- 19. 开始php之前回显消息并激活按钮?
- 20. .NET - 在运行应用程序之前验证并安装.NET Framework 3.5
- 21. 为什么java.util.Hashtable在Netbeans 8中被标记为“废弃集合”?
- 22. 为什么Apache Beam中的GroupByKey之后的FlatMap如此之慢?
- 23. 为什么在使用弃用项目之前验证Build.VERSION.SDK_INT时不会弃用弃用警告?
- 24. 为什么JavaScript功能在.NET动作之前触发?
- 25. 为什么MathNet.Numerics NuGet包如此之大?
- 26. 为什么在OleUninitialize()之前调用CoFreeUnusedLibraries()?
- 27. 为什么validates_uniqueness_of在before_create之前运行?
- 28. $ .getJSON SyntaxError:missing;在陈述之前,为什么?
- 29. 为什么viewDidLoad在didSelectItemAtIndexPath之前运行?
- 30. 为什么“104”在“0000105”之前排序?
只是为了增加更多 - JavaScriptSerializer和DataContractJsonSerializer并不总是与对方兼容(DateTime,IIRC,这是一个痛苦)。 – 2009-02-11 13:08:37