一般更新:我以前問過我是否可以按原樣獲取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我知道我只是想通過分配oldObj
到obj
做參考obj
和不加它,它的價值。我想知道是否有像JSON的valueOf()
這樣的方法。
我已經得到回答,幫助我接近解決方案,但尚未解決。對於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()'這樣的選項。 –