我的用例类似于这个条目,希望从JSON对象中读取一个内部的巨大数组(作为文本的多个千兆字节)。
{ "a": "...", // root level fields to be read, separately
...
"bs": [ // the huge array, most of the payload (can be multiple GB's)
{...},
...
]
}
输入作为一个
Source[ByteString,_]
(Akka流)可用,而我在其他地方使用Circe进行JSON解码。我可以看到两个挑战:
1.以流式方式读取
bs
数组(获取一个Source[B,_]
来消耗它)。
2.将原始流分成两部分,以便在数组开始之前读取和分析根级字段。你有解决这种用例的指针吗?我迄今为止已经检查了akka-stream-json和circe-iteratee。
akka-stream-json
看起来像是合适的工具,但是没有得到很好的维护。
circe-iteratee
似乎没有与Akka Streams集成。