我有一个字符串问题,我使用下面的代码从URL接收JSON数据,代码工作正常,但是问题是我没有得到全部数据,只有一半的JSON值即将到来,我想知道是否这是有原因的,如果是,则意味着如何解决此问题。 JSON字符串很大

            DefaultHttpClient http_client = new DefaultHttpClient();
            HttpGet httpGet = new HttpGet(urls[0]);
            HttpResponse response = http_client.execute(httpGet);

            StatusLine statusLine = response.getStatusLine();
            int statusCode = statusLine.getStatusCode();
            HttpEntity entity = response.getEntity();

            InputStream in = entity.getContent();
            StringBuffer out = new StringBuffer();
            byte[] b = new byte[4096];
            int n =  in.read(b);
            while(n>0){
                out.append(new String(b, 0, n));
                n = in.read(b);
            }

            String resultdata = out.toString();
            Log.d("Out data",resultdata);

最佳答案

尝试使用BufferedReader获取此类数据

    String line="";
   BufferedReader rd = new BufferedReader(new InputStreamReader(in));
                // Read response
     while ((line = rd.readLine()) != null) {
               total.append(line);
            }
   String jsonString=total.toString();

10-06 02:01
查看更多