json.net和带有+00:00后缀的错误日期

时间:2014-11-29 19:48:04

标签: c# json.net

我序列化具有DateTime属性的对象,如下所示:JsonConvert.SerializeObject(my_object),然后在另一台反序列化的机器上result = JsonConvert.DeserializeObject<Result>(r);。有些日期是错误的。我通过提琴手检查过,当json中的日期看起来像Date=2014-11-29T18:41:41.1672899时,它的反序列化正确,但每10个左右的条目看起来像Date=2014-11-29T18:55:39.1175417+00:00(注意+00:00然后它被反序列化为日期移动了两个小时。这是为什么以及如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您可以在DateTimeZoneHandling上明确将DateTimeZoneHandling.Utc设置为JsonSerializerSettings

Result result = JsonConvert.DeserializeObject<Result>(r, new JsonSerializerSettings
{
  DateTimeZoneHandling = DateTimeZoneHandling.Utc
});