【发布时间】:2009-08-30 02:18:17
【问题描述】:
我现在正在使用 asp.net mvc,想知道使用内置 Json 或 Json.Net 的更好选择是什么,我不确定一个是否比另一个有优势。
另外,如果我选择走 Json.Net 的路线,那么我应该使用稳定版还是 beta 4?我不确定测试版有多不稳定。
【问题讨论】:
标签: .net asp.net-mvc json json.net
我现在正在使用 asp.net mvc,想知道使用内置 Json 或 Json.Net 的更好选择是什么,我不确定一个是否比另一个有优势。
另外,如果我选择走 Json.Net 的路线,那么我应该使用稳定版还是 beta 4?我不确定测试版有多不稳定。
【问题讨论】:
标签: .net asp.net-mvc json json.net
您可能有问题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 应用程序。相当 易于使用。
我们目前正在使用 Json.NET v3.5 Beta 4 并且没有遇到问题。但是,我们还没有真正对我们的系统征税,因为它还没有投入生产。您的里程可能会因您使用的框架数量而异。
希望这会有所帮助。
【讨论】:
我的想法是我没有发现用 Json 烘焙有任何问题。我建议你继续这样做,直到你发现一些不起作用的东西。更少的依赖使得调试更简单。
【讨论】:
在过去,我使用过一个 .NET JSON 库,该库利用选择加入或选择退出方法来表示类的哪些成员被序列化。在查看 NerdDinner 示例应用程序时,我在 SearchController 中看到一个名为 JsonDinner 的类,它看起来像一个常规的晚餐类,但似乎存在只是为了正确输出一些额外的细节,这些细节可能只是视图相关而不是真正的模型相关特征。在这个简单的例子中,模型上的属性符号机制,识别要序列化为 JSON 的片段将减少手动维护的代码量。
【讨论】: