首页 > 解决方案 > java - 如何在java中反序列化Stream中的字符串?

问题描述

我有一个字符串,例如:"NEXT":"mode1":2,"mode2":3,"mode3":7

我想在流中对其进行序列化,以将“mode1”:2、“mode2”:3 等提取到 HashMap 中。

这怎么可能?

标签: javastringserializationfunctional-programmingstream

解决方案


假设"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])));

推荐阅读