0

次のコードが「{」、つまり JSON 全体ではなく JSON 文字列の先頭のみを返すのはなぜですか? ブラウザに URL を入力すると、完全な JSON が返されます。応答をバッファリングしようとしましたが、何も機能していないようです?誰でも理由を説明できますか?

HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet("https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Nasik%20&types=geocode&language=en&sensor=true&key=API-KEY");
HttpResponse response = httpclient.execute(httpget);
InputStream is = response.getEntity().getContent();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
Toast.makeText(this, br.readLine(), Toast.LENGTH_LONG).show();      
4

3 に答える 3

1

応答の最初の行を読んでいるだけです。

そのようなものを試してください:http://www.java2s.com/Code/Android/File/ReadInputStreamwithBufferedReader.htm

于 2013-06-14T09:33:18.740 に答える
1

この方法を試してください。

try {
        BufferedReader reader = new BufferedReader(new InputStreamReader(
                is, "iso-8859-1"), 8);
        StringBuilder sb = new StringBuilder();
        String line = null;
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }
        is.close();
        Log.d("Json Output",sb.toString());
    } catch (Exception e) {
        Log.e("Buffer Error", "Error converting result " + e.toString());
    }

アップデート :

各行を読む必要があります。現在、最初の行を読もうとしています。

于 2013-06-14T09:36:11.110 に答える