put() を使用して JSONObject を別の JSONObject に配置すると、コンテナー JSONObject は最初の JSONObject への参照ではなく、新しい JSONObject を格納することに気付きましたか?
例:
JSONObject jtmp1 = new JSONObject();
JSONObject jtmp2 = new JSONObject();
jtmp1.put("test", jtmp2);
System.out.println(System.identityHashCode(jtmp2));
System.out.println(System.identityHashCode(jtmp1.getJSONObject("test")));
2 つのプリントの出力は異なるため、jtmp2 は jtmp1 に直接保存されません。
これは正常な動作ですか?回避策はありますか?私は Java を初めて使用しますが、私の意見では、これは期待される動作ではありません。