Как перебрать Hashmap из HashMap в Java 8 Stream? - PullRequest
0 голосов
/ 31 января 2019

Вот пример:

{
"options": [
{
  "price": {
    "amount": 0
  },
  "serviceOption": {
    "activationDate": "string",
    "conflictsWith": [
      "string"
    ],
    "content": {
      "name": "string",
      "shortText": "string"
    },
    "dependsOn": "string",
    "durationPeriod": "MONTH",
    "earliestDeactivationDate": "string",
    "fee": 0,
    "feePeriod": "MONTH",
    "groupId": "string",
    "installed": true,
    "minimumDuration": 0,
    "modifiable": true,
    "productId": "string",
    "scheduledDeactivationDate": "string",
    "status": "RECURRING"
  }
}
]
}

Здесь мне нужно получить значение groupId

options->serviceOption->groupId

В соответствии с моими требованиями, у меня есть объекты json выше и преобразованы вHashmap для итерации. Как итерировать HashMap с помощью потока?

Для итерации HashMap я использовал hashmap.entrySet().stream(), но что мне делать для дальнейшей итерации?

Вопрос обновлен:

Ответы [ 2 ]

0 голосов
/ 31 января 2019

Один подход, начиная с карты, таков:

Map<String,Object> map = new HashMap<>(); // Your map initialization code goes here.
Stream<Entry<String, Object>> stream = map.entrySet().stream();
// put code to consume stream here.
0 голосов
/ 31 января 2019

Вот как вы можете перебрать groupId доступных опций:

options.stream().map(option -> option.get("serviceOption").get("groupId")).forEach(groupId -> /* Do something with each groupId here */)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...