Я хотел бы иметь вывод JSON, имеющий "postCode" в качестве "родителя", а его потомком будут "statusName" и "statusCount".
JSONObject jsonObject = New JSONObject();
JSONArray jsonArray = New JSONArray();
for (StatisticsDTO object : lstDTO) {
jsonObject.put("postCode",object.getPostalCode());
log.info(object.getPostalCode());
List <StatisticsDetailsDTO> listStat = object.getStatistics();
//log.info("listStat" : + listStat.size()); // Assuming that I have 2 postal codes.
if (listStat != null) {
for (int i = 0; i< listStat.size(); i++) {
StatisticsDetailsDTO dtostat = listStat.get(i);
jsonObject.put("statusName",dtostat.getStatName());
jsonObject.put("statusCount",dtostat.getStatCount());
jsonArray.add(jsonObject);
log.info(jsonArray.toString());
}
}
}
Вывод:
12345
[{"statusName": "Test1", "statusCount": "1"}]
[{"statusName": "Test2", "statusCount": "2"}, {"statusName":"Test2", "statusCount": "2"}]
[{"statusName": "Test3", "statusCount": "3"}, {"statusName": "Test3", "statusCount": "3", {" statusName ":" Test3 "," statusCount ":" 3 "}]
67890
[{" statusName ":" Test4 "," statusCount ":" 4 "}, {" statusName ": "Test4", "statusCount": "4"}, { "statusName": "Test4", "statusCount": "4"}, { "statusName": "Test4", "statusCount": "4"}]
[{ "statusName": "test5", "statusCount": "5"}, { "statusName": "test5", "statusCount": "5"}, { "statusName": "test5",»statusCount ":" 5 "}, {" statusName ":" Test5 "," statusCount ":" 5 "}, {" statusName ":" Test5 "," statusCount ":" 5 "}]
[{"statusName ":" test6" , "statusCount": "6"}, { "statusName": "test6", "statusCount": "6", { "statusName": "test6", "statusCount": "6"}, { "statusName": "test6", "СТОtusCount ":" 6 "}, {" statusName ":" test6" , "statusCount": "6"}, { "statusName": "test6", "statusCount": "6"}, { "statusName":»Test6 "," statusCount ":" 6 "}]
Результат должен быть примерно таким, как показано ниже, но в формате JSON.Я заметил, что значение повторяется.
Почтовый индекс: 12345
- Имя статуса: Test1 Status Count: 1
- Status Name: Test2 Status Count: 2
- Имя статуса: Test3 Счетчик статуса: 3
Почтовый индекс: 67890
- Имя статуса: Test4 Количество статусов: 4
- СтатусИмя: Test5 Status Count: 5
- Имя состояния: Test6 Status Count: 6