我有类似这样的字符串
field1=value1,terminalField=true,field2=value2,field3=value3,terminalField=true
我想基于这样的特定定界符分割成较小的字符串
field1=value1
,terminalField=true
,...
并发射到另一个磁通中,最终目的是发射一个对象,该对象累积直到terminalField=true
的所有字段,以便磁通包含
object(field1=value1, terminalField=true)
,object(field2=value2, field3=value3, terminalField=true)
。
我看过各种运算符,但是我是Reactor的新手,因此在外观上有些挣扎。任何帮助将不胜感激。
答案 0 :(得分:0)
我认为您正在寻找Flux#flatMapIterable operator。
用逗号将其分割,然后使用Flux#windowUntil operator将其转换为Flux<Flux<String>>
,其中每个内部Flux
将是键值对的流,直到终止为止。
然后由您决定如何将内部磁通量转换为对象。您可以使用Flux#collectMap operator和.map
或其他收集/减少运算符。