在Android上克隆JSONObject的好方法

时间:2014-06-04 09:22:10

标签: android json clone

我必须在Android上克隆一个JSONObject。我知道简单的方法:

JSONObject clone = new JSONObject(origional.toString());

但不知何故,这样做会感觉不对/慢。我发现了这个:https://stackoverflow.com/a/12809884/322642,但在Android上我没有JSONObject.getNames - 任何人都有一个很好的指针来指导如何做到这一点?

2 个答案:

答案 0 :(得分:0)

你可以用:

finale

但请记住,这不是深层复制。

答案 1 :(得分:0)

您的解决方案效率低下,需要先序列化对象,然后重新解析String。

最简单,最高效的解决方案是:

JSONObject copy = new JSONObject();
for (Object key : original.keySet()) {
  Object value = original.get(key);
  copy.put(key, value);
}
  

注意:这只是一个副本