这是我在asp.net web-api控制器中的代码。
[Route("~/GetLoginEmployeeInfo")]
public DataTable GetLoginEmployeeInfo()
{
DataTable dtUserInfo = new DataTable();
Hashtable htMenuList = new Hashtable();
htMenuList.Add("LoginKey", 20160636);
htMenuList.Add("Passkey", 123);
dtUserInfo = DataTableByCommandFromStoredProc("GetUserByIDAndPass", htMenuList);
return dtUserInfo; }
在WebApiConfig中,我添加了:
config.Formatters.Remove(config.Formatters.XmlFormatter);
我得到了json的结果:[{"EmpID":"20160636","FullName":"Md Delower Hossain"}]
但我希望如下:{"EmpID":"20160636","FullName":"Md Delower Hossain"}
为了编程目的,应省略括号[]。我该怎么办?
答案 0 :(得分:1)
您的代码 返回"标准JSON格式",它只是一个数组。
这是因为DataTable正如其名称所示,包含一个数据表。即使表包含一行,其数据也将作为数组返回,在本例中为一个元素长的数组。
如果你总是想要返回第一行,那就这样做:
public DataRow GetLoginEmployeeInfo()
{
// ...
return dataTable.Rows[0];
}
考虑创建一个包含这些属性而不是DataTable的模型类。