A Go library for declarative JSON-to-JSON transformations using JSON specifications.
Kazaam is a Go library for performing arbitrary JSON-to-JSON transformations using a JSON-based specification. It solves the problem of reshaping intermediate JSON data into formats required by third-party APIs, offering a declarative and programmatic approach. The library provides built-in operations like shift, concat, coalesce, and timestamp parsing to manipulate JSON structures efficiently.
Go developers working with data pipelines, API integrations, or ETL processes who need to transform JSON messages between different formats. It's also useful for developers building microservices that require flexible data reshaping.
Developers choose Kazaam for its performance-focused design, rich set of built-in transformations, and ease of use via JSON specifications. Its support for custom transforms and JSONPath-like syntax provides greater flexibility compared to manual JSON manipulation or heavier transformation tools.
Arbitrary transformations of JSON in Golang
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Kazaam skips full JSON validation to prioritize speed, making it ideal for high-throughput data pipelines as mentioned in the README's philosophy section.
Offers nine operations like shift, concat, and timestamp parsing, providing comprehensive reshaping capabilities without custom code, as detailed in the Specification Support.
Transformations are defined in JSON, allowing for easy versioning and modification of specs without recompiling Go code, inspired by Jolt.
Supports pluggable transform types, enabling developers to add specialized operations while leveraging the core framework, as noted in the Features section.
The library explicitly avoids full JSON validation for performance, which can lead to silent errors if input data is malformed, as admitted in the README.
As a Go-only library, it's not suitable for projects in other languages, limiting its use in heterogeneous environments without additional integration layers.
For intricate transformations, the JSON-based specs can become verbose and difficult to debug, especially with nested JSONPath expressions in operations like shift.
kazaam is an open-source alternative to the following products: