A high-performance JVM JSON library with compile-time databinding for Java, Android, Scala, and Kotlin.
DSL-JSON is a high-performance JSON serialization library for the JVM, designed to be the fastest Java JSON library with advanced compile-time databinding support. It operates at the byte level to minimize overhead and avoid reflection, making it ideal for performance-critical applications. The library supports Java, Android, Scala, and Kotlin, and includes features like custom converters, streaming, and multiple serialization modes.
JVM developers (Java, Android, Scala, Kotlin) building high-throughput applications where JSON performance and low latency are critical, such as microservices, data processing pipelines, and mobile apps.
Developers choose DSL-JSON for its unmatched performance, compile-time safety, and minimal garbage collection. It outperforms other JSON libraries by working directly on bytes, avoiding reflection, and providing flexible serialization options without relying on unsafe Java internals.
High performance JVM JSON library
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Generates encoding/decoding code at compile time via annotation processor, eliminating reflection and providing type safety, as highlighted in the 'Distinguishing features' section.
Works directly on byte arrays and InputStreams, avoiding intermediate character representations for faster deserialization and minimal overhead, a key point in the README.
Minimizes object allocations and garbage production through optimized converters and reusable readers/writers, crucial for high-throughput applications, as noted in the features.
Supports Java, Android, Scala, and Kotlin with native type handling, including Scala collections and Kotlin non-null annotations, making it versatile across JVM ecosystems.
Requires annotation processor configuration in build tools, and the README admits to common compilation errors that can be tricky to debug, such as missing dependencies for Java 9+.
Intentionally lacks a high-level String API, forcing manual conversion between strings and bytes, which is inconvenient for developers accustomed to string-based JSON libraries.
Advanced features like custom converters, binding, and serialization modes require deep understanding, as evidenced by the detailed but complex documentation and configuration options.