我认为这对我来说有点先进,但我的目标是从 http API 获取原始 json,从中解析第一个列表,做我需要做的任何事情,然后转到下一个列表,等等上。我希望这一次只允许将一个列表加载到内存中(每个列表都非常小,但 json 中有很多列表)。我用 Aeson 试了一下,它吃掉了所有的 ram,没完没了地处理了好几个小时,最后我不得不杀了它。
如果我理解正确,httpSink 应该是要走的路,也许用 json-stream 来做实际的解析。我阅读了有关导管的教程,但我显然无法正确理解它,因为我无法做到这一点。
我知道如何使用 parseByteString 以我需要的方式解码 ByteString(至少我的测试似乎有效),但我想不出一种方法来使用 parseByteString 作为 httpSink 的第二个参数的接收器。我是否遗漏了一些明显的东西,或者我误解了管道的工作方式?
谢谢