我有一个带有日期时间字段的JSON,它使用
JsonConvert.DeserializeObject
,它按预期工作,除非我使用
yyyyMMddTHHmmssZ
DateTime
格式,它是
ISO8601
格式。
根据文件
IsoDateTimeConverter
:
将A转换为ISO 8601和从ISO 8601转换为ISO 8601
日期格式(例如“2008-04-12T12:53Z”)。
所以为什么要这样做:
var serializeSettings=new JsonSerializerSettings();
serializeSettings.Converters.Add(new IsoDateTimeConverter());
var result= JsonConvert.DeserializeObject<EmployementHistory>(json,serializeSettings);
正在引发以下异常:
System.FormatException:字符串未被识别为有效字符串
日期时间。在system.datetimeparse.parse(字符串s,
日期时间格式信息DTFI,日期时间样式)在
newtonsoft.json.converters.isodateTimeConverter.readjson(jsonReader)
读卡器,类型ObjectType,对象existingValue,JSonserializer
序列化程序)
我的模型:
public class EmployementHistory
{
public string EmployeeName { get; set; }
public DateTime PositionChangeDate { get; set; }
}
JSON示例:
“employeename”:“tom”,“positionchangedate”:“20180710T135034Z”