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#,使用
获取此格式,或者只使用Json.Net,它使用ISO格式自动序列化DateTime.ToString(“o”)
和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#,使用
获取此格式,或者只使用Json.Net,它使用ISO格式自动序列化DateTime.ToString(“o”)
和DateTime
DateTimeOffset
"{\"profileID\":\"41\",\"organisationID\":\"2252\",\"startDate\":\"01/01/1970\",\"endDate\":\"01/01/1970\"}"