可以更有效地完成两件事:
- 使用
StringBuilder
代替,StringBuffer
因为它是更快和更小的兄弟。 - 用于
BufferedReader#readLine()
逐行读取,而不是逐字符读取。
HttpResponse response; // some response objectBufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8"));StringBuilder builder = new StringBuilder();for (String line = null; (line = reader.readLine()) != null;) { builder.append(line).append("n");}JSonTokener tokener = new JSonTokener(builder.toString());JSonArray finalResult = new JSonArray(tokener);
如果JSON实际上是一行,那么您还可以删除循环和构建器。
HttpResponse response; // some response objectBufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8"));String json = reader.readLine();JSonTokener tokener = new JSonTokener(json);JSonArray finalResult = new JSonArray(tokener);
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)