Akka Streams:在 Source 的开头和结尾添加字符

Akka Streams : add chars at the beggining and end of a Source

我有一个 json 对象源,存储为字符串,我想将其呈现为 JSON 数组。

我正在这样做:

source.intersperse(",\n").concat(Source.single("]").prepend(Source.single("[")))

它似乎不起作用,我从未在输出中看到 [] 字符。

另外,我怎么能告诉 Akka Streams 已到达流的末尾(我知道结束消息),以便它可以添加结束字符? (我可以知道它已经完成阅读 Kafka 中的特定消息)。

谢谢

这是有效的:

source.takeWhile(_.value != "EOF").intersperse("[", ",\n","]")

注意:当然,您需要在源代码末尾有一个 EOF 字符串才能使这个示例正常工作。