Java 重写Json对象中的值
我正在尝试生成键值对JSON格式,但它被覆盖了,有人能帮我吗 节目 我得到的输出Java 重写Json对象中的值,java,json,Java,Json,我正在尝试生成键值对JSON格式,但它被覆盖了,有人能帮我吗 节目 我得到的输出 如果这是一个愚蠢的问题,请不要阻止我尝试将JSONObject初始化从while循环的外部移动到它的内部。如下图所示 while(l.hasNext() && l2.hasNext()){ JSONObject jobj = new JSONObject(); jobj.put("Des",l.next()); jobj.put("Amount",l2.next()); json.a
如果这是一个愚蠢的问题,请不要阻止我尝试将JSONObject初始化从while循环的外部移动到它的内部。如下图所示
while(l.hasNext() && l2.hasNext()){
JSONObject jobj = new JSONObject();
jobj.put("Des",l.next());
jobj.put("Amount",l2.next());
json.add(jobj);//trying to add json to combine two object into single object
System.out.println("Datas of jsons"+json);//values are overriding
}
尝试将JSONObject初始化从while循环的外部移动到它的内部。如下图所示
while(l.hasNext() && l2.hasNext()){
JSONObject jobj = new JSONObject();
jobj.put("Des",l.next());
jobj.put("Amount",l2.next());
json.add(jobj);//trying to add json to combine two object into single object
System.out.println("Datas of jsons"+json);//values are overriding
}
Put
JSONObject jobj=new JSONObject()代码>进入while-loop。由于您在循环外部声明了JSONObject,您的JSONObject将被重写。只要在while循环中实例化jsonobject'jobj'就可以了代码>进入while-loop。由于您在循环外部声明了JSONObject,您的JSONObject将被重写。只要在while循环中实例化jsonobject'jobj'就可以了。谢谢兄弟,但是我知道幕后发生了什么?当我在while循环中声明jsonobject时会发生什么?。它会在堆内存中创建另一个引用吗?是的,你是对的。当在循环内声明JSONobject时,会为每个循环迭代创建一个新的引用。谢谢兄弟,但是我的“我知道幕后发生了什么?”,当我在while循环内声明JSONobject时会发生什么?。它会在堆内存中创建另一个引用吗?是的,你是对的。当在循环内声明JSONobject时,将为每个循环迭代创建一个新引用
[
{"Des":"Mani","Amount":846},
{"Des":"Mani","Amount":846},
{"Des":"Mani","Amount":846},
{"Des":"Mani","Amount":846},
{"Des":"Mani","Amount":846},
{"Des":"Mani","Amount":846}
]
while(l.hasNext() && l2.hasNext()){
JSONObject jobj = new JSONObject();
jobj.put("Des",l.next());
jobj.put("Amount",l2.next());
json.add(jobj);//trying to add json to combine two object into single object
System.out.println("Datas of jsons"+json);//values are overriding
}