使用 Web 服务时出错 return Json?
error when using web services return Json?
我有一个测试,想获取数据库中的信息 Table LOCATION,我使用 Web 服务和 return Json,但它是错误的。
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public List<LOCATIONPARAM> VIEW_LOCATION()
{
using (QLTDEntities db = new QLTDEntities())
{
List<LOCATIONPARAM> list = new List<LOCATIONPARAM>();
list = db.LOCATIONs.Select(e => new LOCATIONPARAM()
{
LOCATION_ID = e.LOCATION_ID,
LOCATION_NAME = e.LOCATION_NAME,
FLAG = e.FLAG
}).ToList();
return new JavaScriptSerializer().Serialize(list);
}
}
你的代码可以编译吗?
您的 return 类型是 List<LOCATIONPARAM>
,但是 JavaScriptSerializer().Serialize( ) return 是一个字符串
https://msdn.microsoft.com/en-us/library/bb292287(v=vs.110).aspx
将 return 类型更改为字符串应该有效:
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string VIEW_LOCATION()
{
using (QLTDEntities db = new QLTDEntities())
{
List<LOCATIONPARAM> list = new List<LOCATIONPARAM>();
list = db.LOCATIONs.Select(e => new LOCATIONPARAM()
{
LOCATION_ID = e.LOCATION_ID,
LOCATION_NAME = e.LOCATION_NAME,
FLAG = e.FLAG
}).ToList();
return new JavaScriptSerializer().Serialize(list);
}
}
我有一个测试,想获取数据库中的信息 Table LOCATION,我使用 Web 服务和 return Json,但它是错误的。
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public List<LOCATIONPARAM> VIEW_LOCATION()
{
using (QLTDEntities db = new QLTDEntities())
{
List<LOCATIONPARAM> list = new List<LOCATIONPARAM>();
list = db.LOCATIONs.Select(e => new LOCATIONPARAM()
{
LOCATION_ID = e.LOCATION_ID,
LOCATION_NAME = e.LOCATION_NAME,
FLAG = e.FLAG
}).ToList();
return new JavaScriptSerializer().Serialize(list);
}
}
你的代码可以编译吗?
您的 return 类型是 List<LOCATIONPARAM>
,但是 JavaScriptSerializer().Serialize( ) return 是一个字符串
https://msdn.microsoft.com/en-us/library/bb292287(v=vs.110).aspx
将 return 类型更改为字符串应该有效:
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string VIEW_LOCATION()
{
using (QLTDEntities db = new QLTDEntities())
{
List<LOCATIONPARAM> list = new List<LOCATIONPARAM>();
list = db.LOCATIONs.Select(e => new LOCATIONPARAM()
{
LOCATION_ID = e.LOCATION_ID,
LOCATION_NAME = e.LOCATION_NAME,
FLAG = e.FLAG
}).ToList();
return new JavaScriptSerializer().Serialize(list);
}
}