将日期时间转换为 JSON 数据时遇到困难

本文关键字:遇到 数据 JSON 日期 时间 转换 | 更新日期: 2023-09-27 18:35:28

我正在尝试将list<T>转换为JSON数据,然后绑定到Jqgrid。

问题是列表集合包含其中一列作为日期时间。

当我看到生成的 JSON 响应时,日期时间未正确序列化。它的来是这样的:

 /Date(1267408935000)/
当列表集合

包含日期时间列时,如何将列表集合正确转换为 JSON 数据。

请帮忙..

将日期时间转换为 JSON 数据时遇到困难

如果您在colModel中使用formatter: "date"作为相应的列定义,那么jqGrid将自动进行相应的转换。只有当你使用一些非常旧版本的jqGrid时,问题才可能出现(请参阅描述从jqGrid 3.8.2开始引入相应支持的文档)。

当你说它"没有正确序列化"时 - 这对我来说看起来不错。这是JSON日期的一种格式,来自Javascript Date构造函数,将"自Unix纪元以来的毫秒数"作为参数。因此,您给出的值是 2010 年 3 月 1 日 02:02:15 UTC

我希望 Javascript 反序列化这些数据绝对没问题 - 但当然不一定是这样......如果它真的给您带来了问题,请阅读 Scott Hanselman 关于 JSON 日期/时间格式的博客文章 - 特别是,它解释了如何将 JSON 格式化程序换成 Json.NET,默认情况下使用 ISO-8601 格式。

使用字符串属性而不是日期时间创建类。

public class MyJsonModel
{
   public string DateTimeString { get;set; }
}
var model = new MyJsonModel();
model.DateTimeString = DateTime.Now.ToString("MM-dd-yyyy"); //Any format you like