使用 JavaScriptSerializer 在 MVC4 中将 linq 结果转换为 JSON 时出现问题

本文关键字:JSON 问题 转换 结果 JavaScriptSerializer MVC4 中将 linq 使用 | 更新日期: 2023-09-27 18:31:03

我试图使用JavaScriptSerializer将linq结果转换为JSON,但我没有得到所需的输出。

我的代码是(我使用 C#):

string Departments = "";
JavaScriptSerializer jss = new JavaScriptSerializer();
Departments =  jss.Serialize(db.Departments.ToList());
ViewBag.Department = Departments;

我得到的是:

[{"DepartmentId":2,"DepartmentName":"Cardiology","EntityState":2,"EntityKey":{"EntitySetName":"Departments","EntityContainerName":"ClinicDbEntities","EntityKeyValues":[{"Key":"DepartmentId","Value":2}],"IsTemporary":false}},{"DepartmentId":6,"DepartmentName":"ENT","EntityState":2,"EntityKey":{"EntitySetName":"Departments","EntityContainerName":"ClinicDbEntities","EntityKeyValues":[{"Key":"DepartmentId","Value":6}],"IsTemporary":false}},{"DepartmentId":7,"DepartmentName":"Paediatrics","EntityState":2,"EntityKey":{"EntitySetName":"Departments","EntityContainerName":"ClinicDbEntities","EntityKeyValues":[{"Key":"DepartmentId","Value":7}],"IsTemporary":false}},{"DepartmentId":8,"DepartmentName":"General","EntityState":2,"EntityKey":{"EntitySetName":"Departments","EntityContainerName":"ClinicDbEntities","EntityKeyValues":[{"Key":"DepartmentId","Value":8}],"IsTemporary":false}}]

我需要的是这样的:

[ { DepartmentId: 2, DepartmentName: "Cardiology" }, { DepartmentId: 6, DepartmentName: "ENT" },{ DepartmentId: 7, DepartmentName: "Paediatrics" },{ DepartmentId: 8, DepartmentName: "General"}]

有人可以帮我吗?提前谢谢你!

使用 JavaScriptSerializer 在 MVC4 中将 linq 结果转换为 JSON 时出现问题

Departments= jss.Serialize(
              db.Departments.Select(d => new{
                    DepartmentId = d.DepartmentId,
                    DepartmentName = d.DepartmentName
                })
            );