# json-iterator/go

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/json-iterator-go).**

13,891 stars · 1,054 forks · Go · MIT · archived

## Links

- GitHub: https://github.com/json-iterator/go
- Homepage: http://jsoniter.com/migrate-from-go-std.html
- awesome-repositories: https://awesome-repositories.com/repository/json-iterator-go.md

## Topics

`deserialization` `go` `golang` `json` `json-parser` `parser` `serialization` `serializer`

## Description

This project is a high-performance JSON library for Go, serving as a replacement for the standard encoding/json package. It provides a serialization engine for encoding and decoding data structures, alongside a schemaless parser for extracting specific values from JSON blobs using paths.

The library distinguishes itself through a focus on reducing CPU and memory overhead. It implements a high-performance encoder that utilizes buffer reuse and reduced float precision to increase data throughput.

Broad capability areas include data serialization, high-performance JSON processing, and schema-less value extraction. The engine supports nested value extraction and property verification without requiring predefined data schemas.

## Tags

### Data & Databases

- [High-Performance Parsers](https://awesome-repositories.com/f/data-databases/json-parsers/high-performance-parsers.md) — Provides high-throughput JSON parsing and generation with minimal CPU overhead for Go applications.
- [High-Performance JSON Encoders](https://awesome-repositories.com/f/data-databases/json-parsers/high-performance-json-encoders.md) — Optimized implementation for encoding data to JSON with features like buffer reuse and reduced float precision.
- [Schema-less Extraction](https://awesome-repositories.com/f/data-databases/json-parsers/schema-less-extraction.md) — Implements a schemaless parser that extracts specific values from JSON blobs using paths without requiring predefined data schemas.
- [JSON Serialization Libraries](https://awesome-repositories.com/f/data-databases/json-serialization-libraries.md) — A high-performance replacement for the standard encoding/json package for data serialization and deserialization.
- [Custom Serialization Interfaces](https://awesome-repositories.com/f/data-databases/data-type-managers/dynamic-type-managers/custom-type-serializers/custom-serialization-interfaces.md) — Provides interfaces for defining specialized parsing and serialization logic for specific data types. ([source](http://jsoniter.com/index.cn.html))
- [Serialization Optimization Utilities](https://awesome-repositories.com/f/data-databases/serialization-optimization-utilities.md) — Increases data throughput by reducing float precision and reusing internal memory buffers. ([source](http://jsoniter.com/migrate-from-go-std.html))

### Programming Languages & Runtimes

- [JSON Serialization](https://awesome-repositories.com/f/programming-languages-runtimes/json-serialization.md) — Provides a high-performance engine for converting Go data structures to and from JSON format.
- [Go Performance Optimization](https://awesome-repositories.com/f/programming-languages-runtimes/go-performance-optimization.md) — Reduces memory allocations and processing time during serialization to improve the performance of Go services.
- [Serialization Logic Overrides](https://awesome-repositories.com/f/programming-languages-runtimes/character-encoding-utilities/custom-value-encoders/serialization-logic-overrides.md) — Allows users to register specialized functions for specific types to bypass generic reflection logic during encoding.

### Artificial Intelligence & ML

- [Value Extraction](https://awesome-repositories.com/f/artificial-intelligence-ml/data-indexing/schema-less/value-extraction.md) — Retrieves specific values from raw JSON text using paths without requiring a predefined structural schema.

### Part of an Awesome List

- [JSON Parsing](https://awesome-repositories.com/f/awesome-lists/data/json-parsing.md) — Provides a high-performance implementation for parsing JSON text strings into internal data structures. ([source](https://cdn.jsdelivr.net/gh/json-iterator/go@master/README.md))
- [Stream-Based Parsing](https://awesome-repositories.com/f/awesome-lists/data/html-and-xml-parsing/xml-parsing/stream-based-parsing.md) — Processes JSON input as a continuous stream to minimize memory footprint and avoid loading entire files into memory.
- [JSON Processing](https://awesome-repositories.com/f/awesome-lists/data/json-processing.md) — High-performance JSON parser.
- [Data Serialization](https://awesome-repositories.com/f/awesome-lists/devtools/data-serialization.md) — High-performance drop-in replacement for encoding/json.

### Software Engineering & Architecture

- [Data Serialization Formats](https://awesome-repositories.com/f/software-engineering-architecture/data-serialization-formats.md) — Implements a high-performance process for converting internal Go data structures to JSON text and back. ([source](http://jsoniter.com/migrate-from-go-std.html))
- [Byte Buffer Pooling](https://awesome-repositories.com/f/software-engineering-architecture/byte-buffer-pooling.md) — Implements a shared pool of byte arrays to reduce garbage collection overhead during the JSON encoding process.
- [Type Metadata Caching](https://awesome-repositories.com/f/software-engineering-architecture/reflection-frameworks/static-reflection-caches/reflection-metadata-caches/type-metadata-caching.md) — Analyzes Go struct types at runtime to build cached metadata for faster serialization and deserialization.

### Web Development

- [JSON Encoding](https://awesome-repositories.com/f/web-development/json-encoding.md) — Provides a high-performance implementation for converting internal data structures into formatted JSON text strings. ([source](https://cdn.jsdelivr.net/gh/json-iterator/go@master/README.md))
- [Nested Payload Extractions](https://awesome-repositories.com/f/web-development/request-payload-specifications/nested-payload-extractions.md) — Extracts data from complex nested JSON structures without requiring full data models for every nesting level. ([source](http://jsoniter.com/index.cn.html))

### Operating Systems & Systems Programming

- [Zero-Copy Byte Writing](https://awesome-repositories.com/f/operating-systems-systems-programming/zero-copy-byte-writing.md) — Writes data directly into a byte slice to avoid the overhead of intermediate string conversions.
