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(string) を使用して json 配列を作成しています。問題は、java が例外をスローすることです。json 文字列が無効です。デバッガーを見ると、文字列の前に 2 つのバックスラッシュがあり、Java はそれを解析する方法を知りません。
問題はどこだ?ありがとうございました
更新: 解決しました。WebApi は、json を文字列として XML を返しました。XMLを返すようにWebApiを変更し、オブジェクトを返すように変更し(そしてJSONConvertを削除しました)、動作します。