【问题标题】:Deserializing dates with dd/MM/yyyy format within a List using Json.Net使用 Json.Net 在列表中以 dd/MM/yyyy 格式反序列化日期
【发布时间】:2014-05-20 15:47:17
【问题描述】:

我正在使用后续 SO 帖子 (Deserializing dates with dd/mm/yyyy format using Json.Net) 中的解决方案,但在尝试反序列化 MyObject 时出现以下错误:

字符串未被识别为有效的日期时间。

任何帮助将不胜感激。

class Program
{
    static void Main(string[] args)
    {
        var json = "{\"data\":[{\"courseID\":43547,\"endDate\":\"01/01/2014\"},{\"courseID\":40949,\"endDate\":\"10/04/2013\"},{\"courseID\":40439,\"endDate\":\"7/03/2013\"}]}";

        var myCheckedCourses = JsonConvert.DeserializeObject<MyObject>(json, 
            new IsoDateTimeConverter { DateTimeFormat = "dd/MM/yyyy" });

    }
}

class MyObject
{
    public List<Object2> data { get; set; }
}

[JsonObject]
public class Object2
{
    public int CourseID { get; set; }
    public Nullable<System.DateTime> EndDate { get; set; }
}

【问题讨论】:

  • 7/03/2013 不是dd/MM/yyyy 格式。
  • 嗨@AllanHorwitz 我建议你json中的日期字段应该是UTC格式。它对你和服务器也有好处。

标签: c# json date datetime


【解决方案1】:

需要将日期格式改为d/MM/yyyy。

【讨论】:

  • 在我看来,这不是正确的答案。这对你真的有用吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-24
相关资源
最近更新 更多