重用JSON对象

时间:2016-06-24 01:16:08

标签: java json

我使用以下代码

创建一个JSON对象
while(true){

JSONObject checks = new JSONObject(jsonString);

}

我如何使用这个JSON对象而不是每次都创建一个新对象。例如,我可以像下面那样做一个hashmap

HashMap h =new Hashmap

while(true){
h.add("abc","pwr");
h.clear();

}

2 个答案:

答案 0 :(得分:0)

正如您所说,您使用此实现https://github.com/stleary/JSON-java/blob/master/JSONObject.java

您可以迭代其键

Iterator<String> entryIter = jsonObject.keys();
 while (entryIter.hasNext()) {
  jsonObject.remove(entryIter.next());
 }

但是,说实话,我认为它不会更好。

答案 1 :(得分:0)

JSONObject是普通的java对象,你不能应用hashmap逻辑来清除。因为,Hashmap用于存储项目/对象/任何东西的集合。从集合中,您可以清除或断开其相关项的引用。不适用于普通物体。

对于您的情况,您可以在while循环之外定义JSONObject实例,并重用如下所示的对象。

JSONObject checks = null;
while(true){
   checks = new JSONObject(jsonString);
}

对于每次迭代,旧对象将符合GC [垃圾收集]和一般GC算法处理内存和放大器的资格。性能

相关问题