我需要将 ArrayList 中的数据转换为 JSON 文件,并使用JSON.simple。一切都很好,除了我想要得到这样的结果的一件小事...... {source:0, target:1},{source:0, target:1},{source:0, target:2} ,{source:0, target:3} ......但它返回...... {source:0, target:16},{source:0, target:16},{source:0,目标:16} ...... 我的 solution.size() 是 17。这是我的代码:
JSONObject jsonObject = new JSONObject();
JSONObject jsonNodesObject = new JSONObject();
JSONObject jsonEdgesObject = new JSONObject();
JSONArray jsonNodesArray = new JSONArray();
JSONArray jsonEdgesArray = new JSONArray();
String instString = solutions.get(0).get("institution");
jsonNodesObject.put("name", instString);
// extract name and institution from ArrayList
for (int i = 0; i < solutions.size(); i++)
{
HashMap<String, String> eleHashMap= solutions.get(i);
String nameString = eleHashMap.get("name");
jsonNodesObject.put("name", nameString);
jsonNodesArray.add(jsonNodesObject);
jsonEdgesObject.put("source", 0);
jsonEdgesObject.put("target", i);
jsonEdgesArray.add(jsonEdgesObject);
}
jsonObject.put("nodes", jsonNodesArray);
jsonObject.put("edges", jsonEdgesArray);
System.out.println(jsonObject);
似乎在每个 for 循环中,它都会刷新我所有jsonEdgesArray的target: i的值。
有人知道如何解决这个问题吗?提前致谢!