Jackson 是否支持 java 8 stream()?

Does Jackson support java 8 stream()?

我想将 Jackson 的 Tree Model 与 Java 8 流 API 一起使用,如下所示:

JsonNode jn = new ObjectMapper().readValue(src, JsonNode.class);
return jn.stream().anyMatch(myPredicate);

但是,JsonNode 似乎没有实现 stream(),而且我找不到任何标准助手来实现。

JsonNode 实现 Iterable,所以我可以用 Google 番石榴获得相同的结果:

JsonNode jn = new ObjectMapper().readValue(src, JsonNode.class);
return Iterables.find(jn, myPredicate);

但是纯 Java 解决方案呢?

JsonNode 实现了 Iterable,所以它有一个 spliterator()。您可以使用

StreamSupport.stream(jn.spliterator(), false /* or whatever */);

获得 Stream.