Мне нужно преобразовать мои данные в ArrayList в файл JSON, и я использую JSON.simple. Все хорошо, кроме одной мелочи, которую я хочу получить, например ... {источник: 0, цель: 1}, {источник: 0, цель: 1}, {источник: 0, цель: 2 }, {источник: 0, цель: 3} ...... но он возвращает ...... {источник: 0, цель: 16}, {источник: 0, цель: 16}, {источник : 0, цель: 16} ....... Мой solution.size() есть 17. Вот мой код:Ошибка при использовании JSONSimple для записи json-файла с циклом for
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);
кажется, что в каждом цикле за это обновляет значение цели: я всего моего jsonEdgesArray.
Доза любой знает, как это исправить? Заранее спасибо!
Какая ошибка я совершил. Благодаря! – ray6080