【发布时间】:2010-04-21 10:57:18
【问题描述】:
我一直在研究几个用于 .NET 的 JSON 解析器(LitJSON、JsonExSerializer 和 JSON.NET),并且想知道是否有人对它们有任何经验并且可以阐明它们的区别和优点以及他们每个人的缺点。
【问题讨论】:
我一直在研究几个用于 .NET 的 JSON 解析器(LitJSON、JsonExSerializer 和 JSON.NET),并且想知道是否有人对它们有任何经验并且可以阐明它们的区别和优点以及他们每个人的缺点。
【问题讨论】:
别忘了,.NET 3.5 引入了 JavaScriptSerializer 类,它也可以处理 JSON。我没有使用其他的,因为我一直只使用内置的:它可以很好地满足我所需要的一切。
【讨论】:
由于这个帖子似乎很少引起注意,这就是我最终做的事情: liJson 很快就出局了,因为它似乎没有得到积极的维护。在剩下的两个(都是几天前发布的版本)之间,我选择了 Json.NET,因为它似乎是
经过几次实验后,我不得不说我对结果很满意 - 我设法实现了我想要的一切,而且编写自定义转换器轻而易举,只用了 2 分钟和 4 行代码。
【讨论】:
JavaScriptSerializer 有一些开箱即用的主要缺点,但稍加劝诱就可以说服它做一些简洁的事情,例如反序列化 d: Wrapped msajax json 和 typed wcf json 以及反序列化为匿名类型。
见http://www.codeproject.com/KB/aspnet/Parsing-ClientScript-JSON.aspx
【讨论】:
如果您使用的是 MVC3,请查看 Json.Decode()(包含在 MVC 中作为帮助程序的本机方法),它可以返回“动态”对象。
所以您可以快速调用:
dynamic result = Json.Decode(jsonData);
并像 result.theProperty 一样访问它。
【讨论】:
查看 kiwi.json https://github.com/jlarsson/Kiwi.Json 就我所经历的而言,它看起来非常有前途,而且速度快如闪电。
【讨论】: