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
.
我想将 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
.