Как достичь верхнего элемента в JSON с помощью потоков JavaJAVA

Программисты JAVA общаются здесь
Anonymous
Как достичь верхнего элемента в JSON с помощью потоков Java

Сообщение Anonymous »

Как я могу получить значение элемента «itemid», у которого есть логин «peter» и статус «SLEEP», используя потоки в Java? В моем проекте уже есть библиотека Джексона и классы POJO.
[
{
"itemid": "bf47",
"name": "test",
"workers": [
{
"user": {
"id": "7074",
"login": "john",
},
"status": [
{
"name": "WORK"
}
]
},

{
"user": {
"id": "1237",
"login": "peter",
},
"status": [
{
"name": "WORK"
},
{
"name": "SLEEP"
}
]
}
],

},
{
"itemid": "ea277",
"name": "test",
"workers": [
{
"user": {
"id": "2ce0",
"login": "robert"
},
"status": [
{
"name": "WORK"
}
]
}
],

}

]

Я попробовал следующим образом, но это не сработало:
String id = Arrays.stream(allItemId).flatMap(x->x.getworkers().stream())
.filter(x->x.getUser().getLogin().equals(peter))
.flatMap(x->x.getStatus().stream())
.filter(x->x.getName().equals("SLEEP")).map(x->x.getItemId).findFirst().get();


Подробнее здесь: https://stackoverflow.com/questions/783 ... va-streams

Вернуться в «JAVA»