我正在尝试从 android 应用程序调用 ApiController。这是 api 控制器:
[AcceptVerbs("GET", "POST")]
public string Get(string coords)
{
using (var context = new Entities())
{
var records = from poi in context.Pois
where poi.Latitude >= fromLatitude &&
poi.Latitude <= toLatitude &&
poi.Longitude >= fromLongitude &&
poi.Longitude <= toLongitude
select new
{
poiName = poi.Name,
poiLatitude = poi.Latitude,
poiLongitude = poi.Longitude
};
return JsonConvert(records);
}
}
}
private string JsonConvert(object records)
{
return Newtonsoft.Json.JsonConvert.SerializeObject(records,);
}
在 android 代码中,我正在使用新的 JSON(字符串)创建 json 数组。问题是 java 抛出异常:json 字符串无效。当我查看调试器时,我看到字符串在 " 之前有 2 个反斜杠,而 java 不知道如何解析它。
问题出在哪里?谢谢
更新:已解决。WebApi 以 json 作为字符串返回 XML。将 WebApi 更改为不返回 XML,然后将其更改为返回对象(并删除了 JSONConvert) - 它可以工作。