Общее обновление: Ранее я спросил, могу ли я получить значение JSONObject как есть, а затем сравнить его с перезаписанной версией. Моя первая попытка была:Назначить текущее значение объекта JSONObject другому JSONObject
JSONObject oldObj = new JSONObject();
public void addRootNode(String nodeid, int depth) {
oldObj = obj;
//Get value of obj as is
addNodesToGraph(nodeid, depth);
//Change value of obj
}
//later
public boolean compareJSON(){
return oldObj.equals(obj);
//should return false
}
Altough Я знал, что только сделать ссылку на obj
назначая oldObj
к obj
и не добавить его это значение. Мне было интересно, был ли такой метод, как valueOf()
для JSON.
У меня уже есть ответы, которые помогли мне приблизиться к решению, но все же не решили. Для org.simple.json
есть ли возможность получить oldObj
с текущим значением obj
, чтобы сравнить их позже и определить разницу?
Прямо сейчас я не могу заглянуть в класс org.simple.json.JSONObject
сам, так как источник отсутствует.
В качестве ссылки: org.json.JSONObject
может решить эту проблему с помощью этого конструктора:
public JSONObject(JSONObject jo, java.lang.String[] names)
. Но мне не нужны другие функции.
Вы присваиваете значение 'obj'' oldObj' и печатаете оба, поэтому очевидно, что 'toJSONString' напечатает то же значение. – Mena
Знаете ли вы разницу между объектами и ссылками в Java? – immibis
Да, я знаю, что в настоящее время я назначаю 'oldObj'' obj'. Мне было интересно, есть ли опция, например 'valueof()' или что-то вроде этого. –