【发布时间】:2018-02-22 23:38:15
【问题描述】:
我正在尝试做一个 linq 组,它似乎正在工作,但是当我执行 JsonConvert 时,它似乎很多。
public class StatsVm
{
public int TotalCount { get; set; }
public string Name { get; set; }
public DateTime? LoggedDate { get; set; }
}
假设我有一个包含 10 个对象的数组,其中 5 个的 LoggedDate 为 2018-02-19,其中 5 个的 LoggedDate 为 2018-02-20
我想按日期(不是时间部分)对它们进行分组
var d = results.GroupBy(group => group.LoggedDate.GetValueOrDefault().ToString("yyyy-MM-dd")).ToList();
这给了我一个List<IGrouping<string, StatsVm>>,这是我想要的,但是当我这样做时
JsonConvert.SerializeObject(d)
我丢失了分组密钥。我想它可能不是有效的 json 或其他东西。但我想在 json 中有这样的东西。
{
"2018-1-1": [
{
"LoggedDate": "2018-1-1",
"Name": "Test",
"TotalCount": 20
},
{
"LoggedDate": "2018-1-1",
"Name": "Test2",
"TotalCount": 1
}
],
"2018-1-2": [
{
"LoggedDate": "2018-1-2",
"Name": "Test",
"TotalCount": 20
},
{
"LoggedDate": "2018-1-2",
"Name": "Test2",
"TotalCount": 1
}
]
}
【问题讨论】: