我正在使用 WCF 返回一个 JSON,webHttpBinding
以便可以将 JQuery 用于某些网格。今天,我正在查询数据库,并得到一个回复,并使用 Linq,用我需要的字段DataTable
填充一个,然后我使用它序列化它,以便我可以将它作为字符串返回给客户端。下面是实现的片段:List<DTO>
SerializeObject
public string GetJSON(int pSkip, int pTake, int pCount)
{
DataTable dtResult = WUOnSiteMotivoRejeicaoBus.ObterRejeicoes(pSkip, pTake, pCount);
List<WUOsMotivoRejeicaoDTO> lsResult = dtResult.AsEnumerable()
.Select(row => new ClsResultDTO
{
Result1 = Convert.ToInt32(row["cd_result1"]),
Result2 = Convert.ToString(row["dc_result2"]),
})
.ToList();
return JsonConvert.SerializeObject(lsResult, Formatting.None);
}
在接口方面,以下是配置:
[OperationContract]
[WebGet(BodyStyle = WebMessageBodyStyle.Wrapped,
ResponseFormat = WebMessageFormat.Json,
UriTemplate = "GetJson?skip={pSkip}&take={pTake}&count={pCount}")]
string GetJSON(int pSkip, int pTake, int pCount);
返回的是一个需要解析的 JSON 字符串,使用 parseJSON
var obj = $.parseJSON(retorno);
这是返回 JScript 客户端使用的 JSON 结果的最佳/正确方法吗?有没有办法返回字符串以外的东西,并避免解析?
编辑
在客户端,我使用的是 MVC3,而不是 ASP.NET Web 窗体。Tks