【问题标题】:Asp.net MVC json or Json.net?Asp.net MVC json 还是 Json.net?
【发布时间】:2009-08-30 02:18:17
【问题描述】:

我现在正在使用 asp.net mvc,想知道使用内置 Json 或 Json.Net 的更好选择是什么,我不确定一个是否比另一个有优势。

另外,如果我选择走 Json.Net 的路线,那么我应该使用稳定版还是 beta 4?我不确定测试版有多不稳定。

【问题讨论】:

    标签: .net asp.net-mvc json json.net


    【解决方案1】:

    您可能有问题serializing dates with the MVC JSON. 我对该帖子的回答在下面重复。

    如果您没有绑定到 MS JSON 序列化程序,您可以使用 Json.NET。它带有一个 IsoDateTimeConverter。 这会将日期序列化为ISO 8601 格式的字符串。

    例如,在我们的项目中 序列化 myObject 是通过 以下代码。

    JsonNetResult jsonNetResult = new JsonNetResult();
    jsonNetResult.Formatting = Formatting.Indented;
    jsonNetResult.SerializerSettings.Converters.Add(new IsoDateTimeConverter());
    jsonNetResult.Data = myObject;
    

    如果您决定采用 Json.NET 暴跌你也会想抓住 JsonNetResult 因为它返回一个 可用于的 ActionResult ASP.NET MVC 应用程序。相当 易于使用。

    更多信息请见:Good (Date)Times with Json.NET

    我们目前正在使用 Json.NET v3.5 Beta 4 并且没有遇到问题。但是,我们还没有真正对我们的系统征税,因为它还没有投入生产。您的里程可能会因您使用的框架数量而异。

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      我的想法是我没有发现用 Json 烘焙有任何问题。我建议你继续这样做,直到你发现一些不起作用的东西。更少的依赖使得调试更简单。

      【讨论】:

      • 完全同意。 Json.net 是一个非常好的库,但除非您需要 .NET 选项之外的功能,否则它只是您需要管理的不必要的依赖项。
      【解决方案3】:

      在过去,我使用过一个 .NET JSON 库,该库利用选择加入或选择退出方法来表示类的哪些成员被序列化。在查看 NerdDinner 示例应用程序时,我在 SearchController 中看到一个名为 JsonDinner 的类,它看起来像一个常规的晚餐类,但似乎存在只是为了正确输出一些额外的细节,这些细节可能只是视图相关而不是真正的模型相关特征。在这个简单的例子中,模型上的属性符号机制,识别要序列化为 JSON 的片段将减少手动维护的代码量。

      【讨论】:

        猜你喜欢
        • 2012-05-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多