У меня есть два ответа JSON, которые я должен объединить в один ответ.
Первый ответ JSON: (DTO2)
"data1": [{
"id": "ABC",
"variables": [{
"id": "XYZ",
"name":"name",
"description":"description"}]
}]
class A{
List <Data1> data1;
class Data1 data1 {
....
List<Variables> variables;
}}
Второй ответ JSON: (DTO1)
"data2": [{
"id": "XYZ",
"parameters": [{
"timeStamp":"12345678",
"value": "value",
"category":"category" }]
}]
Class B{
List <Data2> data2;
public Data2 data2 {
.....
List<Parameters> parameters;
}
}
Окончательный ответ должен быть таким:
[{
"id":"XYZ",
"name":"name",
"description":"description",
"parameter":{
"value": "value",
"category":"category",
"timeStamp":"timeStamp"
}
}]
Я создал DTO для каждого ответа.Я должен проверить идентификатор и объединить ответ для окончательного.
Я использовал вложенные для каждого и объединил его.
// received response is mapped to classA
classAResponse.getData1.forEach{ a ->
a.getVariables.forEach{ v ->
classBResponse.getData2.forEach { b ->
b.getParameters.forEach{ p ->
if(a.getId.equals(b.getId)) then
new Response(....)
});
});.....
Есть ли лучший способ?