使用移动数据时出现JsonSyntaxException

时间:2016-03-12 18:44:14

标签: android json asp.net-web-api

我正在使用托管在working fiddle上的ASP Web API网络服务来获取Json格式的数据,以便在我的Android应用程序中使用它们,当我使用Wifi时,一切正常并且Json收到正确,但是当我使用移动数据时,我收到com.google.gson.JsonSyntaxException,同时解析收到的Json,我用调试器检查了收到的Json字符串,这是错误的,这是什么我收到了:

  

RMO @ +)�Sڦ9TjeU�)�aX�x\��Ah"�{b�����̾y3OL�G�Y�İ�u²"���r'��J V�@�����(��� ���(N9*4MĜ���Fר��m+ ���:�7[�/$ 3 ZC%Q * HaOA | X〜 G8" ?,4(yNjL%2 B   ?S8lp(GrgHPb9 + 5℃; nw_iG - ,_؋UZK ; | i |6s V[J < %3 X

这是我在android中用来从ASP Web API网络服务发送和接收数据的方法:

public String PostObject(String url, Object obj) throws IOException {
    DefaultHttpClient client = new DefaultHttpClient();
    HttpPost httpPost = new HttpPost(url);
    StringEntity stringEntity = new StringEntity(new GsonBuilder().setDateFormat("yyyy-MM-dd'T'HH:mm:ss").create().toJson(obj));
    httpPost.setEntity(stringEntity);
    httpPost.setHeader("Accept", "application/json");
    httpPost.setHeader("Content-type", "application/json");
    httpPost.setHeader("Accept-Encoding", "gzip");
    HttpResponse httpResponse = client.execute(httpPost);
    HttpEntity httpEntity = httpResponse.getEntity();
    String rep = EntityUtils.toString(httpEntity);
    return rep;
}

1 个答案:

答案 0 :(得分:2)

格式错误。您通过在标头中声明gzip来接受("Accept-Encoding", "gzip")压缩数据。

您可以删除压缩或解压缩数据,然后使用它。

On how to decompress