如何使用JSON.NET通过ASP.NET MVC传递JSON日期值?
可能重复:
格式化Microsoft JSON日期?
ASP.NET函数Json()
格式化并返回一个日期
{"d":"/Date(1240718400000)/"}
必须在客户端处理,这是有问题的。 对于来回发送日期值的方法,您有什么建议?
这发现在Stack Overflow的另一篇文章中:
var date = new Date(parseInt(jsonDate.substr(6)));
substr函数取出“/ Date(”部分,parseInt函数获取整数并在最后忽略“)/”。 生成的数字被传入Date构造函数。
如果你不绑定到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的良好(日期)时间
它可能很丑,但它起作用:
var epoch = (new RegExp('/Date((-?[0-9]+))/')).exec(d);
$("#field").text((new Date(parseInt(epoch[1]))).toDateString());
可能没有必要匹配整个字符串,只是( - ?[0-9] +)就足够了......
链接地址: http://www.djcxy.com/p/8149.html上一篇: How to pass a JSON date value via ASP.NET MVC using JSON.NET?