【问题标题】:JSON.NET JsonConvert vs .NET JavaScriptSerializer [closed]JSON.NET JsonConvert vs .NET JavaScriptSerializer [关闭]
【发布时间】:2012-06-29 13:58:01
【问题描述】:

在 .NET 中对 JSON 进行编码和解码时,最好使用什么?我已经尝试了这两种方法,到目前为止,JsonConvert 似乎做得很好。我过去成功使用过 JavaScriptSerializer,但最近遇到了一些问题。使用 JSON.NET 比使用 .NET 类更好吗?

使用适当的库编码/解码 json 的首选函数是什么?我使用来自 JSON.NET 的 SerializeObject/DeSerializeObject 和来自 .NET 的 Serialize/DeSerialize。

谢谢

【问题讨论】:

标签: .net json json.net


【解决方案1】:

我认为this 正是您正在寻找的那种比较。

它基本上说 JSON.Net 更好,因为它除其他外......

  • 更快
  • 支持 LINQ to JSON
  • 可以 convert JSON 与 XML

在我看来,对于内置序列化程序来说,唯一的积极因素(而且是一个小积极因素)是没有额外的外部依赖项需要管理。

编辑:Codeplex 有一天会关闭,所以你也可以找到比较here,只需在页面上搜索“功能比较”即可。

【讨论】:

  • 更快你测试了吗?我尝试使用 .NET 4.5.2 和 Json.NET 9.01,它一点也不比 JavaScriptSerializer 快。官方网站上的速度统计是指 JSON.NET 5...有点过时了!
  • @krlzlx .Net 4.5.2 于 2015 年 5 月发布,而 JSON.Net 9.01 几个月前发布,而我在 3 年前的 2013 年写了这个答案。你为什么不提供一个更新的答案用你的指标而不是刻薄!
  • 很抱歉,我知道您的回答来自 2013 年。但您也没有提供任何指标,除了 Json.NET 网站中的指标。当我测试它时,我很失望。就是这样。
【解决方案2】:

很长一段时间以来,我的应用程序都使用JavascriptSerializer 并且没有发现迁移的真正理由。即使性能比较声称获得了巨大的百分比收益,我们说的是毫秒。

但这里有一个非常好的迁移理由:JavascriptSerializer.Net Core 中不可用,因为它是System.Web 的一部分所以如果您使用的是JavascriptSerializer,您将被卡住并且必须迁移到JSON.net

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-25
  • 2023-04-06
  • 1970-01-01
  • 1970-01-01
  • 2012-06-15
相关资源
最近更新 更多