Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Go
  3. kazaam

kazaam

MITGov4.0.1

A Go library for declarative JSON-to-JSON transformations using JSON specifications.

GitHubGitHub
293 stars52 forks0 contributors

What is kazaam?

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.

Target Audience

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.

Value Proposition

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.

Overview

Arbitrary transformations of JSON in Golang

Use Cases

Best For

  • Transforming JSON messages between different API formats
  • Reshaping nested JSON structures using declarative specifications
  • Generating UUIDs or formatting timestamps within JSON data
  • Extracting and promoting sub-objects to top-level JSON
  • Coalescing values from multiple possible keys in JSON documents
  • Removing or setting default values for JSON fields programmatically

Not Ideal For

  • Systems requiring full JSON schema validation and compliance checks
  • Projects needing complex conditional logic or programming constructs within transformations
  • Teams working in non-Go ecosystems or polyglot microservices architectures
  • Applications that primarily handle non-JSON data formats like XML or Avro

Pros & Cons

Pros

High-Performance Design

Kazaam skips full JSON validation to prioritize speed, making it ideal for high-throughput data pipelines as mentioned in the README's philosophy section.

Rich Built-in Transforms

Offers nine operations like shift, concat, and timestamp parsing, providing comprehensive reshaping capabilities without custom code, as detailed in the Specification Support.

Declarative JSON Specs

Transformations are defined in JSON, allowing for easy versioning and modification of specs without recompiling Go code, inspired by Jolt.

Extensible with Custom Transforms

Supports pluggable transform types, enabling developers to add specialized operations while leveraging the core framework, as noted in the Features section.

Cons

No Built-in Validation

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.

Go-Language Lock-in

As a Go-only library, it's not suitable for projects in other languages, limiting its use in heterogeneous environments without additional integration layers.

Complex Specification Management

For intricate transformations, the JSON-based specs can become verbose and difficult to debug, especially with nested JSONPath expressions in operations like shift.

Open Source Alternative To

kazaam is an open-source alternative to the following products:

J
Jolt

Jolt is a JSON to JSON transformation library written in Java, used for specifying and executing declarative transformations on JSON data.

Frequently Asked Questions

Quick Stats

Stars293
Forks52
Contributors0
Open Issues17
Last commit4 years ago
CreatedSince 2016

Tags

#jsonpath#golang-library#json-format#json-data#golang#data-pipeline#transformations#json#etl#data-formatting#api-integration#declarative-configuration#json-transformation

Built With

G
Go

Included in

Go169.1k
Auto-fetched 18 hours ago

Related Projects

GJSONGJSON

Get JSON values quickly - JSON parser for Go

Stars15,546
Forks906
Last commit2 months ago
gabsgabs

For parsing, creating and editing unknown or dynamic JSON in Go

Stars3,530
Forks201
Last commit2 years ago
SJSONSJSON

Set JSON values very quickly in Go

Stars2,721
Forks184
Last commit2 months ago
gojsongojson

Automatically generate Go (golang) struct definitions from example JSON

Stars2,688
Forks205
Last commit5 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub