В моем проекте SprinBoot я работаю над GET-запросом, и в соответствии с требованием я получу много элементов json, и мне нужно будет преобразовать все эти элементы json с некоторым уникальным идентификатором в один объект json, и мне нужно создать jsonMap. для тех ключей, которые отличаются?
Пример: Я получаю JSON-запрос как:
{
"a":"102",
"b":"abc",
"c":"ID-1"
},
{
"a":"102",
"b":"abc",
"c":"ID-2"
},
...
I need to convert the above response as :
{
"a":"102",
"b":"abc",
"c":[
{id:"ID-1"},
{id:"ID-2"}
...
]
}
Как вы видите выше, только значение "c" отличается, поэтому я буду делать его какмассив и объединить все уникальные ключи в один элемент.
До сих пор я написал логику, которая не работает, если найдено более 2 уникальных элементов.
for (int i = 0; i < arrayBody.size(); i++) {
String resultBody = arrayBody.get(i) + "";
JSONObject resultObj = (JSONObject) parser.parse(resultBody);
String idUnique = resultObj.get("Setname").toString();
for (int j = i + 1; j < arrayBody.size(); j++) {
String rBody = arrayBody.get(j) + "";
JSONObject rObj = (JSONObject) parser.parse(rBody);
String idDuplicate = rObj.get("Setname").toString();
if (idUnique.equals(idDuplicate)) {
id = resultObj.get("Setname").toString();
finalObject.put("id", id);
...
}
}