【发布时间】:2020-11-25 01:25:45
【问题描述】:
我有这个函数可以将 JSON 数据返回到我的视图中
public JsonResult MeterReading()
{
db.Configuration.ProxyCreationEnabled = false;
var queryNestedGroups =
from s in db.Sales
group s by s.PointId into newGroup1
from newGroup2 in
(from student in newGroup1
group student by student.FuelTypeId into g
select new
{
MeterReading = g.Sum(o => o.SaleQuantity),
FuelType = db.zFuelTypes.Where(u => u.Id == g.Key).Select(p => p.FuelType).FirstOrDefault(),
Point = db.DispensePoints.Where(u => u.Id == newGroup1.Key).Select(p => p.PointName).FirstOrDefault(),
Picture=db.DispensePoints.Where(u => u.Id == newGroup1.Key).Select(p => p.Picture).FirstOrDefault()
})
group newGroup2 by newGroup1.Key;
return Json(queryNestedGroups, JsonRequestBehavior.AllowGet);
}
但它显示这样的数据
[[{"MeterReading":677.00,"FuelType":"Petrol","Point":"wwwfhfghfgh","Picture":"~/Images/PointPicuters/637321819464806362a.png"},{"MeterReading":677.00,"FuelType":"GasLocal","Point":"wwwfhfghfgh","Picture":"~/Images/PointPicuters/637321819464806362a.png"}],[{"MeterReading":677.00,"FuelType":"Petrol_95","Point":"www","Picture":"~/Images/PointPicuters/63732163747332.jpg"}}]]
但我想要这种格式
[{"Point":"wwwfhfghfgh","Picture":"~/Images/PointPicuters/637321819464806362a.png",["MeterReading":677.00,"FuelType":"Petrol"],["MeterReading":677.00,"FuelType":"GasLocal"]},{"MeterReading":677.00,"FuelType":"Petrol_95",["Point":"www","Picture":"~/Images/PointPicuters/63732163747332.jpg"]}]
谢谢
【问题讨论】:
-
您想要的 JSON 无效。在 JSON 中,键值对不能直接在数组内部(用
[]表示);它们必须在对象中(用{}表示)。有关正确 JSON 构造的信息,请参阅 json.org。您可以使用jsonlint.com 验证您的 JSON。请编辑您的问题以包含正确的 JSON。
标签: c# json group-by asp.net-mvc-5