Hello,
I'd like to announce a new serialization library,
picopickle. I've just pushed v0.1.0 to Maven central. It highly resembles other serialization libraries (mostly
upickle,
play-json,
json4s and a couple of others) but it provides some features which I couldn't find in all of them - the largest one being a support for different serialization formats.
What is currently available:
- serialization and deserialization of all basic Scala types: primitives, strings, symbols, options, eithers, etc;
- serialization and deserialization of almost all Scala collections;
- serialization and deserialization of almost arbitrary sealed trait hierarchies, i.e. case classes and case objects,
possibly implementing a sealed trait, powered by shapeless;
- case class serialization supports renaming the fields and classes, default values and optional fields, as well as
circular type dependencies;
- customizable nulls handling;
- two backends - JSON and collections, allowing serialization and deserialization to and from JSON and collections,
respectively;
- a converters library which provides a DSL for writing custom serializers in a declarative way.
You can find more in the
readme, including examples on how to use the library.
Unfortunately, the API documentation is currently somewhat lacking (especially on converters), but this is going to improve in the future.
Regards,
Vladimir