Java 8 如何在Spring反应堆API中从Mono获取通量?

Java 8 如何在Spring反应堆API中从Mono获取通量?,java-8,java-stream,project-reactor,Java 8,Java Stream,Project Reactor,我的Mono来自API服务,带有json响应,如下所示: { "total": 45, "results": [{"age": 23, "color": "blue"}, {"age": 34, "color": "orange"}] } 及 记录在本文件中 json响应中结果数组的每个元素都映射到Bar对象。我想去 Flux<Bar> bars 从单声道上方 我还想得到 从单声道上方的整数总计 我怎样才能做到这一点?我在这里迷路了 以下内容将为您提供与Bar类对应的

我的Mono来自API服务,带有json响应,如下所示:

{  
  "total": 45,
  "results": [{"age": 23, "color": "blue"}, {"age": 34, "color": "orange"}]
}

记录在本文件中

json响应中结果数组的每个元素都映射到Bar对象。我想去

Flux<Bar> bars
从单声道上方

我还想得到

从单声道上方的整数总计


我怎样才能做到这一点?我在这里迷路了

以下内容将为您提供与Bar类对应的JSONObject流量:

Flux<JSONObject> barsAsJsonObject = mono.flatMap(jsonObject -> jsonObject.get("results"))
        .flatMapMany(Flux::fromIterable);
将操作符应用于通量以获得条形对象的计数


希望这能回答您的问题。

我想要的是总计,而不是计数。@ace您可以用类似的方法提取总计,方法是使用键total并从jsonObject本身获取它。
Flux<JSONObject> barsAsJsonObject = mono.flatMap(jsonObject -> jsonObject.get("results"))
        .flatMapMany(Flux::fromIterable);
barsAsJsonObject.map( barAsJson -> {
//create Bar object here
})