【问题标题】:.NET JSON parser comparison [closed].NET JSON 解析器比较 [关闭]
【发布时间】:2010-04-21 10:57:18
【问题描述】:

我一直在研究几个用于 .NET 的 JSON 解析器(LitJSONJsonExSerializerJSON.NET),并且想知道是否有人对它们有任何经验并且可以阐明它们的区别和优点以及他们每个人的缺点。

【问题讨论】:

    标签: .net json


    【解决方案1】:

    别忘了,.NET 3.5 引入了 JavaScriptSerializer 类,它也可以处理 JSON。我没有使用其他的,因为我一直只使用内置的:它可以很好地满足我所需要的一切。

    【讨论】:

    • +1。内部的又快又轻,我没有遇到任何问题。仅当您有特定问题时,我才建议您查看其他问题。
    • 不幸的是,我绑定到 .NET 2.0...
    • JavaScriptSerializer 有一些主要缺点,尤其是在处理从 Ajax 或 WCF 服务返回的 JSON 时。但它可以增强为与 JSON.Net 一样好,请参阅 codeproject.com/KB/aspnet/Parsing-ClientScript-JSON.aspx
    • 我不会称之为 JavaScriptSerializer 的“主要缺点”!事实上它甚至不是这个类的缺点!这是一个与序列化程序无关的问题,并且与您的方法有关 =/ 序列化程序完全按照它必须做的事情 - 将 Json 对象序列化和反序列化为 .NET 对象...
    【解决方案2】:

    由于这个帖子似乎很少引起注意,这就是我最终做的事情: liJson 很快就出局了,因为它似乎没有得到积极的维护。在剩下的两个(都是几天前发布的版本)之间,我选择了 Json.NET,因为它似乎是

    1. 有一个稍微简单的序列化 API。
    2. 更受欢迎。

    经过几次实验后,我不得不说我对结果很满意 - 我设法实现了我想要的一切,而且编写自定义转换器轻而易举,只用了 2 分钟和 4 行代码。

    【讨论】:

      【解决方案3】:

      JavaScriptSerializer 有一些开箱即用的主要缺点,但稍加劝诱就可以说服它做一些简洁的事情,例如反序列化 d: Wrapped msajax json 和 typed wcf json 以及反序列化为匿名类型。

      http://www.codeproject.com/KB/aspnet/Parsing-ClientScript-JSON.aspx

      【讨论】:

        【解决方案4】:

        如果您使用的是 MVC3,请查看 Json.Decode()(包含在 MVC 中作为帮助程序的本机方法),它可以返回“动态”对象。

        所以您可以快速调用:

        dynamic result = Json.Decode(jsonData);
        

        并像 result.theProperty 一样访问它。

        【讨论】:

          【解决方案5】:

          查看 kiwi.json https://github.com/jlarsson/Kiwi.Json 就我所经历的而言,它看起来非常有前途,而且速度快如闪电。

          【讨论】:

            猜你喜欢
            • 2011-07-03
            • 1970-01-01
            • 2014-01-30
            • 2012-08-12
            • 2010-10-25
            • 2021-06-07
            • 1970-01-01
            • 1970-01-01
            • 2014-04-24
            相关资源
            最近更新 更多