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"]
});
ただし、2 番目の日付で 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 に慣れているので、拡張メソッドを使用してみましたが、拡張メソッドが認識されないようです。