Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# JavaScriptSerializer赢得';无法将日期字符串识别为日期时间?_C#_Javascript - Fatal编程技术网

C# JavaScriptSerializer赢得';无法将日期字符串识别为日期时间?

C# JavaScriptSerializer赢得';无法将日期字符串识别为日期时间?,c#,javascript,C#,Javascript,这是我的模型: public class ReportAllMediaDetailsParams { public int profileID { get; set; } public int organisationID { get; set; } public DateTime startDate { get; set; } public DateTime endDate { get; set; } } 这是我的反序

这是我的模型:

public class ReportAllMediaDetailsParams
    {
        public int profileID  { get; set; }
        public int organisationID { get; set; }
        public DateTime startDate { get; set; }
        public DateTime endDate { get; set; }
}
这是我的反序列化程序:

var serializer = new JavaScriptSerializer();
var reportParams = serializer.Deserialize<ReportAllMediaDetailsParams>(json);
  • 不要使用
    JavaScriptSerializer
    ,而是使用

  • 不要在JSON中使用特定于语言环境的格式,如
    MM/dd/yyyy
    dd/MM/yyyy
    。例如,
    1/4/2013
    是否表示四月的第一天?还是一月四日?没办法知道

  • 改用ISO8601格式。它是文化不变的,因此没有歧义。 在ISO格式中,您有
    2013-01-04
    ,它总是
    yyyy-mm-dd
    ,因此没有歧义。例如,完整的日期时间是
    2013-01-04T05:30:27.123

  • 来自C#,使用
    DateTime.ToString(“o”)
    获取此格式,或者只使用Json.Net,它使用ISO格式自动序列化
    DateTime
    DateTimeOffset

      • 不要使用
        JavaScriptSerializer
        ,而是使用

      • 不要在JSON中使用特定于语言环境的格式,如
        MM/dd/yyyy
        dd/MM/yyyy
        。例如,
        1/4/2013
        是否表示四月的第一天?还是一月四日?没办法知道

      • 改用ISO8601格式。它是文化不变的,因此没有歧义。 在ISO格式中,您有
        2013-01-04
        ,它总是
        yyyy-mm-dd
        ,因此没有歧义。例如,完整的日期时间是
        2013-01-04T05:30:27.123

      • 来自C#,使用
        DateTime.ToString(“o”)
        获取此格式,或者只使用Json.Net,它使用ISO格式自动序列化
        DateTime
        DateTimeOffset


      使用ISO8601是我的解决方案使用ISO8601是我的解决方案
      "{\"profileID\":\"41\",\"organisationID\":\"2252\",\"startDate\":\"01/01/1970\",\"endDate\":\"01/01/1970\"}"