我序列化具有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然后它被反序列化为日期移动了两个小时。这是为什么以及如何解决这个问题?
答案 0 :(得分:1)
您可以在DateTimeZoneHandling
上明确将DateTimeZoneHandling.Utc
设置为JsonSerializerSettings
:
Result result = JsonConvert.DeserializeObject<Result>(r, new JsonSerializerSettings
{
DateTimeZoneHandling = DateTimeZoneHandling.Utc
});