Scala macros for compile-time generation of safe and ultra-fast JSON codecs. This library had started from macros that reused jsoniter (json-iterator) for Java reader and writer but then the library evolved to have its own core of mechanics for parsing and serialization. The idea to generate codecs by Scala macros and main details was borrowed from Kryo Macros and adapted for the needs of the JSON domain. Validate parsed values safely with the fail-fast approach and clear reporting, provide configurable limits for suboptimal data structures with safe defaults to be resilient for DoS attacks, generate codecs that create instances of a fixed set of classes during parsing to avoid RCE attacks.

Features

  • JSON parsing from String
  • Parsing of streaming JSON values and JSON arrays from java.io.InputStream/java.io.FileInputStream
  • Only UTF-8 encoding is supported when working with buffered bytes directly
  • Non-case Scala classes also supported
  • Core module support reading and writing byte arrays from/to Base16 and Base64 representations
  • Type aliases are supported
  • Only acyclic graphs of class instances are supported by generated codecs

Project Samples

Project Activity

See All Activity >

Categories

JSON

License

MIT License

Follow jsoniter-scala

jsoniter-scala Web Site

Other Useful Business Software
Get Avast Free Antivirus with 24/7 AI-powered online scam detection Icon
Get Avast Free Antivirus with 24/7 AI-powered online scam detection

Get protection for today’s online threats. Free.

Award-winning antivirus protection, as well as protection against online scams, dangerous Wi-Fi connections, hacked accounts, and ransomware. It includes Avast Assistant, your built-in AI partner, which gives you help with suspicious online messages, offers, and more.
Free Download
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of jsoniter-scala!

Additional Project Details

Programming Language

Scala

Related Categories

Scala JSON Software

Registered

2023-10-20