我有一个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",
}
}
]如何访问place值?对于列表中的所有dto对象,place值都是相同的,即OFFICE,因此我只需要以某种方式访问其中一个place值。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()));发布于 2021-10-04 08:21:06
您可以组合使用流的filter和findFirst方法。
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 into filter方法将是CalendarDto类的对象,这里需要替换相应的方法来获取Place值。
https://stackoverflow.com/questions/69432817
复制相似问题