我的 JSON 看起来像这样:
{"2013" : [
{ "date":"2013-01-09 12:00:00","height":0 },
{ "date":"2013-01-19 12:00:00","height":3 },
{ "date":"2013-01-29 12:00:00","height":2 }],
"2012" : [
{ "date":"2012-02-09 12:00:00","height":0 },
{ "date":"2012-02-19 12:00:00","height":4 },
{ "date":"2012-02-29 12:00:00","height":2 }],
"2011" : [
{ "date":"2011-03-09 12:00:00","height":3 },
{ "date":"2011-03-19 12:00:00","height":8 },
{ "date":"2011-03-29 12:00:00","height":2 }]
}
我想要做的是获取所有日期和高度,但我只能使用以下代码每年完成它:
public class Report
{
public DateTime Date { get; set; }
public int Height { get; set; }
}
JObject data = JObject.Parse(sr);
var postTitles = from p in data["2013"]
select new Report
{
Date = DateTime.Parse((string)p["date"]),
Height = (int)p["height"]
};
我正在考虑使用 for 循环,但在 data[" "] 中尝试一个变量是行不通的。我也在考虑做 var postTitles += 声明,但也是不允许的。关于我应该如何解决这个问题的任何想法?我正在使用 JSON.NET,建议我每年上一堂课(即 2013、2012、2011 年),但我希望它们归于一个类,以便更轻松地操作数据。