首页 > 解决方案 > 任何人都知道如何使用 JsonConverter 属性格式化日期列表

问题描述

这是一个类似的问题,但没有得到任何答案。如何使用 JsonConverter 属性格式化日期列表

这是问题:我尝试在需要格式化为的 DateTime 字段上使用自定义 IsoDateTimeConverter 使用 JsonConverter 属性ISO date time format

public class DateConverter : IsoDateTimeConverter
{
    public DateConverter()
    {
        DateTimeFormat = "yyyy-MM-dd";
    }
}


public class A
{

    [JsonConverter(typeof(DateConverter))]
    public List<DateTime> Example { get; set; }
}

这会导致以下错误:

转换日期时出现意外值。预期的 DateTime 或 DateTimeOffset,得到 System.Collections.Generic.List`1[System.DateTime]。

我检查了来自https://www.newtonsoft.com的所有文档,但找不到与此问题相关的任何内容。

请给我一些想法。谢谢

标签: c#jsondatetime

解决方案


尝试这样的事情怎么样,因为它需要传入一个 DateTime 对象(让 A 是单个转换值,B 是 DateTimes 列表的容器):

public class DateConverter : IsoDateTimeConverter
{
    public DateConverter()
    {
        DateTimeFormat = "yyyy-MM-dd";
    }
}


public class A
{

    [JsonConverter(typeof(DateConverter))]
    public DateTime date { get; set; }
}

public class B
{
    public List<A> dates { get; set; }
}

推荐阅读