我正在使用 JSON.NET 的 LINQ to JSON 来解析数据,其中包括日期。我的示例 JSON 如下所示:
{"2013" : [
{ "date":"2/5/2013 11:13 AM","id":23 }],
"2012" : [
{ "date":"28/9/2012 5:29 PM","id":24 }]
}
日期格式为 d/m/yyyy h:mm。我首先尝试使用 DateTime.Parse 解析它:
var postTitles = jobject.Children().SelectMany(x => x.First).
Select(p =>
new Report
{
Date = DateTime.Parse((string)p["date"]),
Height = (int)p["height"]
});
但是,它会在第二个日期引发 FormatException,因此我尝试使用 DateTime.ParseExact 代替:
var postTitles = jobject.Children().SelectMany(x => x.First).
Select(p =>
new Report
{
Date = DateTime.ParseExact(p["date"].ToString(), "dd/mm/yyyy hh:mm", new
CultureInfo("en-US")),
Height = (int)p["height"]
});
这一次,我在第一次约会时收到了 FormatException。有没有关于如何解析这个日期的替代方法?我尝试使用扩展方法,因为我习惯于使用 XML,但似乎我的扩展方法无法识别。