Как я могу десериализовать строку в потоке в Java? - PullRequest
0 голосов
/ 18 октября 2019

У меня есть строка, например: «NEXT»: «mode1»: 2, «mode2»: 3, «mode3»: 7

Я хочу выделить ее в потоке для извлечения"mode1": 2, "mode2": 3 и т. д. в HashMap.

Как это возможно?

1 Ответ

1 голос
/ 18 октября 2019

Предполагая, что "NEXT": не принадлежит вашей входной строке, вы можете сделать следующее:

String input = "\"mode1\":2,\"mode2\":3,\"mode3\":7";
Map<String, Integer> map = Stream.of(input.split(","))
            .map(it -> it.split(":"))
            .collect(Collectors.toMap(
                it -> it[0].replace("\"", ""),
                it -> Integer.parseInt(it[1])));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...