最近在做WebApi和Andriod接口的对接,中途出现一个问题就是返回格式的问题。由于之前使用WebService的时候使用的一直都是json的序列化和反序列话格式,所以一开始在webapi中通样使用格式,但结果却是Andriod那端始终获取不到正确的json格式数据,经过大量的资料查询之后才发现问题,那就是Webapi和webservice的不同之处,webapi默认的返回数据格式是xml的格式,所以Andriod的那段是获取不到正确的json格式数据的,那我们应该怎样才能获取到正确的数据格式呢?其实很简单,下面我贴出一段代码:
[HttpGet]
public HttpResponseMessage GetMessageInfo(string requestData)
{
try
{ string s= "{\"code\":\"1\",\"messge\":\"成功\"}";
HttpResponseMessage result = new HttpResponseMessage { Content = new StringContent(s, Encoding.GetEncoding("UTF-8"), "application/json") };
return result;
}
catch (Exception ex)
{
string s = "{\"code\":\"0\",\"messge\":\"失败," + ex.Message + "\"}";
HttpResponseMessage result = new HttpResponseMessage { Content = new StringContent(s, Encoding.GetEncoding("UTF-8"), "application/json") };
return result;
}
}
很简单,把原有的直接json序列化格式换成HttpResponseMessage的返回方式就Ok了。