About this project
vibejson is a comprehensive JSON library for Go applications requiring more control than standard marshal/unmarshal operations. It focuses on reducing allocations and providing explicit ownership and borrowing rules for zero-copy operations.
Key capabilities include:
- Typed Codecs: Supports compiled encoders and decoders for repeated hot paths to minimize overhead.
- Document Navigation: Provides JSON Pointer (RFC 6901) selection via `GetRaw` and structural indexing for repeated navigation of documents.
- Streaming: Includes a `Reader` and `Writer` for processing NDJSON or concatenated JSON values.
- Validation and Transforms: Offers tools for strict JSON validation, as well as functions to compact, indent, or canonicalize JSON output.
- Performance Optimization: Supports Go-native SIMD (via `GOEXPERIMENT=simd` in Go 1.27) to accelerate string scanning, structural parsing, and numeric-array conversion on amd64 (AVX2) and arm64 (NEON) architectures.
- Document Model: Features an owning ordered document model for dynamic JSON manipulation.
The library is designed with no dependencies outside the Go standard library and provides various API levels ranging from high-level typed codecs to low-level scanning kernels in its `x/` packages.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.