以功能方式将JSONObject转换为Map

时间:2017-10-06 07:47:17

标签: java stream spliterator

我有一个简单的JSONObject,如

{"name": "dido"}

现在我希望将其转换为Map,所以我写道:

Map<String, String> newMap = StreamSupport
                .stream(Spliterators.spliteratorUnknownSize(obj.keys(), Spliterator.ORDERED), false)
                .collect(Collectors.toMap(Function.identity(), v -> obj.get(v)));

obj是 JSONObject 的一个实例。 obj.keys()返回 Iterator obj.get()返回此键的值。

为什么会出错?如何以功能方式修复它?

1 个答案:

答案 0 :(得分:0)

好的我修好了。 Java无法推断出String。

Map<String, String> newMap = StreamSupport
                .stream(Spliterators.spliteratorUnknownSize(obj.keys(), Spliterator.ORDERED), false)
                .collect(Collectors.toMap(Function.identity(), obj::getString));