给出以下代码段,
序列化
var settings = new JsonSerializerSettings { DateFormatHandling = DateFormatHandling.IsoDateFormat };
settings.Converters.Add(new IsoDateTimeConverter());
var duration = new TimeSpan(0, 1, 0);
Debug.WriteLine(JsonConvert.SerializeObject(duration, settings));
输出:“00:01:00”
应该输出:“PT1M”
反序列化
Debug.WriteLine(JsonConvert.DeserializeObject("{\"Duration\": \"PT1M\"}", settings));
失败:将值“PT1M”转换为“System.TimeSpan”类型时出错。路径 '持续时间',第1行,第19位。
然而,这个页面 - Json.NET 4.5 Release 1 - ISO dates, Async, Metro build声称不然。我错过了什么?