问题描述
我需要创建一个用于 JsonConvert 的数据类。除了以下属性外,大多数用于转换的资源字符串都相同:
public class DataType
{
public DateTimeOffset CreateDate { get; set; }
public DateTimeOffset Create_Date { get; set; }
}
因为在资源字符串中有两种类型: "create_date": "2021-01-15T18:43:13.061+0000",& "createdate": "2021-01-15T18:43:13.061+0000",
使用以下 JsonConvert:
JsonConvert.DeserializeObject<DataType>(resourceStr);
日期时间属性之一的输出将是错误的值。有没有好的方法可以使用一个属性来处理这两种格式?
解决方法
它是通过添加另一个具有更改名称的私有属性来解决的。然后该类将支持使用单个显示名称转换 CreateDate 和 Create_Date;
public DateTimeOffset CreateDate { get; set; }
[JsonProperty("Create_Date")]
private DateTimeOffset CreateDate2
{
set => CreateDate = value;
}