kaizen-solutions / circe-zio-streams

ZIO Streams integration for streaming json parsing via Circe + Jawn

Repository from Github https://github.comkaizen-solutions/circe-zio-streamsRepository from Github https://github.comkaizen-solutions/circe-zio-streams

Circe ZIO Streams

This project integrates the streaming JSON parsing capabilities of the Jawn parser with the Circe library and the ZIO Streams library allowing for the parsing of JSON streams.

Latest Version

libraryDependencies += "com.github.kaizen-solutions.circe-zio-streams" %% "circe-zio-streams" % "Tag"

Examples

See the examples directory for examples of how to use this library.

Recommended Usage

  • Use the jsonStreamPipeline to parse newline separated JSON values
  • Use the jsonArrayStreamPipeline to parse JSON arrays

Notes

Please ensure you select the right parser based on your JSON content. For example, do not use the jsonStreamPipeline if your content is a JSON array. The jsonStreamPipeline is for newline separated JSON values. Similarly, do not use the jsonArrayStreamPipeline if your content is newline separated JSON values.

Credits

This project was heavily inspired by the circe-fs2 library. I wanted to be able to leverage the streaming capabilities of the Jawn parser with the ZIO Streams library directly.

About

ZIO Streams integration for streaming json parsing via Circe + Jawn

License:MIT License


Languages

Language:Scala 100.0%