ScalaPB
zio-json
Our great sponsors
ScalaPB | zio-json | |
---|---|---|
3 | 4 | |
1,282 | 402 | |
0.9% | 2.2% | |
9.0 | 7.5 | |
7 days ago | 7 days ago | |
Scala | Scala | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ScalaPB
-
Friction-less scala - Tell us what is causing friction in your day-to-day life with Scala
I've had great experience with ScalaPB and even better with fs2-grpc (which builds on top of ScalaPB).
-
Working with polymorphic data models in a REST API
One way I've solved this is to use Protobuf contracts to serialize json with ScalaPB. They have a way implementing oneof that keeps each object individual and separate. Even if you don't decide to use PB, you can take some inspiration from the implementation.
-
Scala 3.0 serialization
You could try out protocol buffers. Not sure how stable it is, but I noticed they have a Scala3 version of their runtime library. (Disclaimer: I have not tried it out myself)
zio-json
-
Sttp: An Extensible API Client
Let's use the already mentioned sttp to send requests, and for JSON parsing we'll be using zio-json.
-
zio-json got 333 stars!
Is something missing in zio-json AST for your projects?
-
Scala 3.0 serialization
Otherwise I tend to just use ZIO-JSON or Circe both of which have been updated for Scala 3.
What are some alternatives?
scodec - Scala combinator library for working with binary data
circe - Yet another JSON library for Scala
ScalaBuff - the scala protocol buffers (protobuf) compiler
zio-prelude - A lightweight, distinctly Scala take on functional abstractions, with tight ZIO integration
µPickle - uPickle: a simple, fast, dependency-free JSON & Binary (MessagePack) serialization library for Scala
Apache Avro - Apache Avro is a data serialization system.
Pickling
rezilience - ZIO-native utilities for making resilient distributed systems
Scrooge - A Thrift parser/generator
ZIO - ZIO — A type-safe, composable library for async and concurrent programming in Scala
Avro4s - Avro schema generation and serialization / deserialization for Scala
zio-spark - A functional wrapper around Spark to make it works with ZIO