对于以下 json:
{
"id": "100001","Emp": {"data": [
{
"birthday": "08/14/1987",
"id": "52442"
},
{
"id": "52554"
},
{
"id": "54281"
},
{
"birthday": "04/08/1986",
"id": "54353"
},
{
"id": "58667"
},
{
"birthday": "12/20",
"id": "61435"
},
{
"id": "62794"
},
{
"id": "64577"
},
{
"birthday": "08/12",
"id": "65151"
},
{
"birthday": "11/15/1988",
"id": "66075"
},
{
"birthday": "08/02",
"id": "68282"
},
{
"birthday": "05/01",
"id": "70120"
},
{
"birthday": "12/24/1989",
"id": "74611"
},
{
"birthday": "06/18",
"id": "10293"
}
],
}
}
有些Emp
对象没有birthday
属性,有些生日没有定义年份。
现在我的任务是从今天开始获取接下来的 30 个带有生日的 Emp 对象
我的代码是这样的
var response = e.Result;
var jsonData = JsonConvert.DeserializeObject<RootObject>(response);
jsonData.emp.data = jsonData.friends.data.Where(BdayItems => (BdayItems.birthday != null && DateTime.Parse(BdayItems.birthday)<= DateTime.Today.AddDays(30))).OrderBy(BdayItems => BdayItems.birthday).ToList();
我还尝试通过.AddYear(-1)
在 LINQ 查询中使用来删除年份。
但是我没有得到下一个 30 天,我得到了所有Emp
的生日列表,但我只需要从今天起接下来的 30 天