我必须在Android上克隆一个JSONObject。我知道简单的方法:
JSONObject clone = new JSONObject(origional.toString());
但不知何故,这样做会感觉不对/慢。我发现了这个:https://stackoverflow.com/a/12809884/322642,但在Android上我没有JSONObject.getNames - 任何人都有一个很好的指针来指导如何做到这一点?
答案 0 :(得分:0)
你可以用:
finale
但请记住,这不是深层复制。
答案 1 :(得分:0)
您的解决方案效率低下,需要先序列化对象,然后重新解析String。
最简单,最高效的解决方案是:
JSONObject copy = new JSONObject();
for (Object key : original.keySet()) {
Object value = original.get(key);
copy.put(key, value);
}
注意:这只是一个浅副本