Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
您好,
我正在使用httpUrlConnection从webservice中检索json字符串。然后我从连接
获取inputStreamjsonString = readJSONInputStream(mHttpUrlconnection.getInputStream());
然后我使用以下函数读取输入流以获取JSON。
private String readJSONInputStream(final InputStream inputStream) {
Reader reader = null;
try {
final int SIZE = 16024;
char[] buffer = new char[SIZE];
int bytesRead = 0;
int read = 0;
reader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"), SIZE);
String line = "";
String jsonString = "";
while((line = reader.readLine()) != null) {
jsonString += line;
}
/* Success */
return jsonString;
}
catch(IndexOutOfBoundsException ex) {
log.log(Level.SEVERE, "UnsupportedEncodingexception: " + ex.getMessage());
}
catch(IOException ex) {
log.log(Level.SEVERE, "IOException: " + ex.getMessage());
}
finally {
/* close resources */
try {
reader.close();
inputStream.close();
}
catch(IOException ex) {
log.log(Level.SEVERE, "IOException: " + ex.getMessage());
}
}
return null;
}
但是,如果json很小,说600字节,那么一切都还可以。但我有一些大小约为15000字节的JSON,因此我将最大大小设置为16024。
然而,JSON只读到大约约6511而且只是切断了。
如果JSON很小,则没有问题< 1000字节。但是对于更大的JSON,它只读了大约一半。
我的数据就在那里,因为我使用http请求插件在浏览器中对此进行了测试。
我在这里做错了什么。我应该检查的任何事情。
非常感谢任何建议,
答案 0 :(得分:0)
问题已解决。由于记录器未显示所有信息。毕竟不是一个真正的问题。