borer
- Complete
- borer supports all CBOR and JSON features, incl. “over long” integers, 16-bit half-precision floats,
BigInteger
andBigDecimal
, custom tags and “simple values”. - Lightweight
- borer has zero external dependencies and its code is relatively compact.
- Fast
- borer features DOM-less pull-parsers with one-element look-ahead and is designed for a good tradeoff between performance and usability. It supports stream parsing (in constant memory, even for very large files) and consistently outperforms most other serialization libraries targeting CBOR or JSON that are available to Scala developers.
- Flexible
- borer tries hard to make integration into your applications environment as seamless as possible. The type-class based design makes a lot of aspects deeply and easily customizable.
Also, since borer offers a unified API for both, CBOR and JSON, it’s very easy to provide “bilingual” REST APIs that can consume and produce both formats interchangibly. - Debuggable
- borer offers convenient in-depth logging of the encoding/decoding process that is very helpful for debugging serialization issues, especially when working with a binary format like CBOR.
- Scala JS
- All borer modules (except for
borer-compat-akka
andborer-compat-pekko
) support scala.js.
1.15.0