以下是一个例子:
因为客户端没有创建相应的实体对象,需要客户端直接分析json
接口返回一个集合,序列化成json后,再转成JArray,然后利用Linq进行分组转换
string json = JsonConvert.SerializeObject(data);
JArray jArray = JArray.Parse(json);
var dataView = (from jt in jArray
group jt by jt.Value<object>("Key") into grp
select new
{
Key = grp.Key,
Value1Sum = grp.ToList().Sum(a => a.Value<decimal>("Value1")),
Value2Sum = grp.ToList().Sum(a => a.Value<decimal>("Value2")),
Value3Sum = grp.ToList().Sum(a => a.Value<decimal>("Value3")),
Value4Sum = grp.ToList().Sum(a => a.Value<decimal>("Value4")),
Value5Sum = grp.ToList().Sum(a => a.Value<decimal>("Value5")),
}).OrderByDescending(a => a.Value1Sum).ThenBy(a => a.Key);