访问dto列表中的dto值



我在这个表单下有一个json响应。

"calendarList": [
{
"id": "1",
"event": {
"id": "11",
"name": "Track the working hours",
"color": "blue",
"place": "office",
}
},
{
"id": "2",
"event": {
"id": "12",
"name": "Finish DTOs",
"color": "blue",
"place": "office",
}
}
]

如何访问位值?对于列表中的所有dto对象,位值都是相同的,即OFFICE,因此我只需要以某种方式访问其中一个位值。CalendarDto的列表包含多个EventDto对象,具有属性id、名称、颜色和位置。

final List<CalendarDto> calendarList = calendarService.getCalendars(startDate, endDate);
EventDto eventDto = new EventDto();
EventSender sender = new EventSender ("EVENTS");
sender.withData("place", calendarList.stream()  -> this is where I tried to get the value, but it didn't work
.findFirst(eventDto.getPlace()));

可以同时使用流的filterfindFirst方法

final List<CalendarDto> calendarList = calendarService.getCalendars(startDate, endDate);
EventDto eventDto = new EventDto();
EventSender sender = new EventSender ("EVENTS");
sender.withData("place", calendarList.stream()
.filter(ele -> ele.getPlace().equals(eventDto.getPlace())).findFirst());

注意:-ele进入过滤方法将是CalendarDto类的对象,这里需要替换各自的方法来获得位置值。

最新更新