这似乎应该相当容易,但是,由于某种原因,我的大脑不合作。
我有一个简单的方法来调用它:
return Json.Encode(
Models
.GroupBy(e => e.Gender)
.Select(g => new {
Gender = g.Key,
Count = g.Count()
}).ToArray()
);
这会生成以下JSON:
[{"Gender":"Male","Count":2},{"Gender":"No Answer","Count":1}]
但是,我希望JSON对象看起来像这样:
[
['Male', 2],
['No Answer', 1]
]
我尝试过使用元组和字典无济于事。一旦得到回答,我相信我会自己踢。
答案 0 :(得分:3)
这应该这样做:
return Json.Encode(
Models
.GroupBy(e => e.Gender)
.Select(g => new object[] { g.Key, g.Count() })
.ToArray()
);
你想要一个数组数组,所以只需创建数组。
答案 1 :(得分:1)
您可以使用Anonymous Types。这些提供了一种方便的方法,可以将一组只读属性封装到单个对象中,而无需先显式定义类型。
因此,只需跳过选择表达式中的Gender
和Count
属性。
return Json.Encode(Models
.GroupBy(e => e.Gender)
.Select(g => new object[] { g.Key, g.Count()})
.ToArray());
请注意
Gender
和Count
)