Как преобразовать разные уникальные JSONObject и отобразить их в один JSONObject? - PullRequest
0 голосов
/ 07 октября 2019

В моем проекте 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);
 ...
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...