2

私はAndroidアプリケーションに取り組んでおり、 GETメッセージを受信したときに json オブジェクト (".../current_user.json") を返すように構成されたサーバーからJSON応答を取得しようとしていますが、答えはget はHTML形式であり、期待どおりのJSON形式ではありません。

ブラウザとRESTClientプログラムで同じリクエストを行い、 JSON形式で正しい答えを得たので、なぜこれが起こっているのかわかりません。

これが私が使用しているコードです。

        JSONObject json = new JSONObject();

            HttpParams params = new BasicHttpParams();
            HttpConnectionParams.setSoTimeout(params, 10000);
            HttpClient httpClient = new DefaultHttpClient(params);
            HttpGet get = new HttpGet(url_getiduser);

            HttpResponse response = httpClient.execute(get);                 
            String sresponse = "error";

            Log.d("url get", url_getiduser);
            Log.d("pedido get", get.getMethod());
            if(response != null)
            {
                InputStream in = response.getEntity().getContent();
                sresponse = convertStreamToString(in);

                Log.d("resposta http", sresponse);
                if(!sresponse.equals("error"))
                {

                    JSONObject object = new JSONObject(sresponse);
                    id_user = (String) object.get("id");

                    json = object;
                    Log.d("objecto json", object.toString());

                }
                else Log.d("Error on json parser", sresponse);
4

1 に答える 1

1

HTMLテキストを取得するケースはほとんどありません

  1. 404ページを表示する間違った関数を呼び出した可能性があります。

  2. データベースエラーメッセージが表示されるサーバー側のデータベースエラーである可能性があります

  3. サーバーがHTMLタグを持つスタイル付きデータを送信している可能性があります

ただし、応答をログに記録してここに貼り付ける方がよいでしょう。

于 2012-12-15T16:00:10.800 に答える