我正在使用从客户端脚本调用的.net脚本服务,它的工作原理非常好。.net脚本Web服务:__type属性
唯一的问题是它会为每个返回的对象生成一个'__type'属性,这是我不需要或不需要的。
我见过这个几个帖子在网上,而据我所知,只有“变通”这个:
一些人建议躲在参数少c'tor返回类型为'内部保护',
其他人建议不要使用[ScriptMethod]标记,而是用JSON手动输出结果并返回一个字符串。
我想知道是否有另一个更好的解决方案。顺便说一句,这个属性用于什么呢?
我附上了服务方法和生成的JSON。
方法:
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = true)]
public IEnumerable<EmployeePO> GetEmployeesForDepartment(int DepartmentId)
{
return new AdministrationController().GetEmployeesForDepartment(DepartmentId);
}
JSON返回:
{"d":[{"__type":"Application.Controllers.PresentationObjects.EmployeePO","Positions":[{"__type":"Application.Controllers.PresentationObjects.PositionPO","Id":4,"Name":"Employee: 1test Position 1","IsPriority":false,"WarningThreshold":50,"CriticalThreshold":60,"CurrentWaitingTime":-1,"Passengers":[],"Qualifications":[...
你为什么在意?你不能忽略它吗?当然是 – 2011-02-13 00:37:42
,但使用JSON的重点在于让对象尽可能轻。这额外的属性只是我的对象额外的重量。 – 2011-02-13 07:45:05