完全にメモリにロードすることを避けたい巨大な Json ファイルがあります。その構造は非常に単純です。内部に任意の要素を持つ大きな配列で構成されています。ほとんどの要素をランダムにドロップし、変換された Json を出力するだけで配列を変換したいと思います。
Haskell は、すべての怠惰なこの問題に適しているようで、Haskell の優れた演習になると思いました (私は専門家ではなく、FP 理論もあまり知りません)。
pipes-aeson [1] を見つけました。例はほとんどなく、Pipe を使用してデータをダウンサンプリングすることはできますが、Parser オブジェクトを使用するのはより複雑に思えます。私が見つけたオプション (evalStateT) は厳密で、私が介入することなく全体を解析します。
Lenses が私の問題の解決策になるかもしれませんが、それらは非常に抽象的であり、それらが何であるのか、どのように使用するのかわかりません。
私よりも知識のある人が少しのガイダンスを提供できますか?
[1] https://hackage.haskell.org/package/pipes-aeson-0.4.1.3/docs/Pipes-Aeson.html#t:DecodingError