【发布时间】:2010-12-03 04:05:06
【问题描述】:
我创建了一个扩展方法,它使用内置的 ASP.NET 序列化程序将我的对象序列化为 JSON,然后通过 AJAX 发送回我的服务器,如下所示:
namespace ExtensionMethods.Json
{
public static class JsonHelper
{
public static string ToJson(this object obj)
{
JavaScriptSerializer serializer = new JavaScriptSerializer();
return serializer.Serialize(obj);
}
public static string ToJson(this object obj, int recursionDepth)
{
JavaScriptSerializer serializer = new JavaScriptSerializer();
serializer.RecursionLimit = recursionDepth;
return serializer.Serialize(obj);
}
}
}
//usage
String json = myObject.ToJson();
这很好用,除了日期,因为它以这种格式发回日期:
/Date(1291276800000)/
有没有办法修复这个服务器端,以便日期变得更易于管理,或者必须在客户端进行一些愚蠢的字符解析(即,从括号中刮掉数字并尝试设置日期使用该数字作为毫秒)?还是有更好的方法我只是忽略?我试过Date.parse([the date]),但出现“无效日期格式”错误。
【问题讨论】:
-
这对我来说似乎是一个有效的 JSON 日期......我很困惑为什么这是一个问题?
-
@liho1eye - 我不知道这是一种标准格式,但我找到了解决方法:)
-
真的吗?在向所有人寻求帮助后,您找到了解决方法,现在您不打算发布如何修复它来帮助其他有同样问题的人?
-
@kyralessa - 我发布了我为解决这个问题而编写的代码。希望这会有所帮助!
-
谢谢。 (出于我自己的目的,我最终只是将我需要的日期作为字符串返回,所以我不必担心奇怪的 /Date( 东西。)
标签: javascript asp.net json serialization date-format