我正在尝试将list<T>
转换为JSON数据,然后绑定到Jqgrid。
问题是列表集合包含一个列为DateTime。
当我看到生成的JSON响应时,日期时间未正确序列化。它是这样的:
/Date(1267408935000)/
如果列表集合包含日期时间列,则如何正确地将列表集合转换为JSON数据。
请帮助..
答案 0 :(得分:5)
如果您使用formatter: "date"
作为colModel
中相应的列定义,则jqGrid将自动进行相应的转换。问题可能只有在你使用一些非常旧版本的jqGrid时(参见documentation,它描述了从jqGrid 3.8.2开始引入了相应的支持)。
答案 1 :(得分:2)
当你说它“没有正确序列化”时 - 这对我来说没问题。这是JSON日期的一种格式,来自Javascript Date
构造函数,以“自Unix纪元以来的毫秒”作为参数。所以你给出的价值是2010年3月1日02:02:15 UTC。
我希望将反序列化这些数据的Javascript完全正常 - 但当然不一定是这样......如果它确实给你造成了问题,请阅读Scott Hanselman's blog post about JSON date/time formats - 特别是,它解释了如何将JSON格式化程序替换为Json.NET,默认情况下使用ISO-8601格式。
答案 2 :(得分:0)
使用字符串属性创建类,而不是 DateTime 。
public class MyJsonModel
{
public string DateTimeString { get;set; }
}
var model = new MyJsonModel();
model.DateTimeString = DateTime.Now.ToString("MM-dd-yyyy"); //Any format you like