【发布时间】:2012-06-27 21:51:03
【问题描述】:
我正在发送一个 HttpPost 请求并获得 JSON 格式的响应。但是,由于响应如此巨大,与我在浏览器中看到的相比,我只收到一小部分响应。我的代码如下:
StringBuilder builder = new StringBuilder();
HttpPost httpPost = new HttpPost(uri);
HttpResponse response = client.execute(httpPost);
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(content));
String line;
while ((line = reader.readLine()) != null) {
builder.append(line);
}
因为默认缓冲区大小是 8192 个字符。我只是尝试提供更多价值,但这没关系。所以,关于这个的任何建议......
【问题讨论】:
-
您确定您只收到了部分响应吗?请记住,您只能将有限数量的数据打印到日志中。
-
是的,我确信它只是给出了部分响应。
-
你怎么确定?你用它做什么来检查它?如果响应太大,您应该会耗尽内存。
-
不,我刚刚在系统浏览器中进行了检查。它将显示 JSON 响应,我使用了在线字符计数器,它给出了大约 200000+ 个字符。那么,问题是……
-
这又是一个循环,我再次问,你怎么知道确定你在 Android 客户端上收到了部分响应。您是在检查响应字符串的长度,还是直接将其打印到日志中,或者将其放在 TextView 中?
标签: android json http bufferedreader