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