19

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

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

4

3 回答 3

11

您可能在使用 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,因为它返回可在 ASP.NET MVC 应用程序中使用的 ActionResult。它很容易使用。

有关更多信息,请参阅:使用 Json.NET 的良好(日期)时间

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

希望这可以帮助。

于 2009-08-30T03:21:04.377 回答
6

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

于 2009-08-30T02:43:13.380 回答
1

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

于 2010-04-07T02:12:59.747 回答