awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
nlohmann avatar

nlohmann/json

0
View on GitHub↗
49,944 stars·7,415 forks·C++·MIT·6 viewsjson.nlohmann.me↗

Json

This library is a header-only C++ framework designed for the serialization, parsing, and manipulation of structured data. It provides a recursive variant data model that represents arbitrary structures as native types, allowing developers to navigate, modify, and patch hierarchical data using standard pointer paths and declarative update patterns.

The project distinguishes itself through its template-based architecture, which enables type-safe data structures and custom type mapping at compile time. It offers a unified interface for binary format abstraction, supporting multiple compact representations to optimize storage and transmission. Additionally, the library implements an event-driven parsing model to minimize memory usage during large document traversal and provides native-like integration by mimicking standard container interfaces and iterator patterns.

Beyond its core serialization and parsing capabilities, the library includes comprehensive tools for document patching, merging, and granular data modification. It supports flexible configuration for handling non-standard syntax, character encodings, and key order preservation, ensuring compatibility with diverse data requirements.

The library is distributed as a single-header file, facilitating integration into existing projects through source embedding or standard package management systems.

Features

  • Data Serialization and Parsing - Reads and writes data from various sources while providing control over validation and output formatting.
  • JSON Processors - Implements a specialized engine for navigating and modifying hierarchical JSON structures using pointer paths.
  • Serialization Libraries - Converts complex application objects into structured text formats for storage or network transmission.
  • Recursive Data Models - Represents arbitrary JSON structures using a single recursive variant type.
  • Binary Data Formats - Provides a unified interface for encoding and decoding data into multiple compact binary representations.
  • Serialization Frameworks - Provides a robust framework for serializing complex objects into multiple formats with strict schema validation.
  • Data Formats - Modern C++ JSON library.
  • Data Formats and Parsing - JSON parse, serialize, and deserialize.
  • Databases & Data - JSON library for modern C++
  • JSON Processing - Comprehensive JSON library for modern C++.
  • Serialization and Formats - JSON support for modern C++.
  • Serialization and Parsing - Widely used JSON library for modern C++.
  • Code Quality and Patterns - Intuitive JSON library for C++ applications.
  • Developer Tooling - Modern JSON library for C++ development.
  • Json - Listed in the “Json” section of the Awesome Cpp Cn awesome list.
  • Binary Serialization - Transforms structured information into compact binary representations to optimize storage space.
  • Streaming Parsers - Processes input streams by triggering callbacks for each structural element to minimize memory usage.
  • Custom Type Converters - Defines conversion functions to map user-defined structures to data formats.
  • Data Lookup Interfaces - Accesses specific data points within structured data using direct key lookups or collection-based indexing.
  • JSON Patching - Updates objects by applying standard merge patches to integrate new values into existing structures.
  • Serialization Policies - Employs template specialization to map custom user-defined types directly into the library data model.
  • Type Mapping Frameworks - Defines automated conversion rules to map user-defined application structures directly into standardized data formats.
  • C & C++ Ecosystem - Ships as a header-only library for intuitive parsing and manipulation of structured data in C++.
  • Generics & Templates - Uses C++ templates to generate type-safe data structures at compile time.
  • Data Modification APIs - Updates data by adding, inserting, or removing elements, and manages object lifecycles.
  • Document Patching Utilities - Implements standard document modification protocols by traversing nested structures using path-based identifiers.
  • Type Extraction Utilities - Converts stored data into native types or writes values directly into destination variables.
  • Standard Libraries - Exposes data structures through standard iterator patterns and container aliases.

Star history

Star history chart for nlohmann/jsonStar history chart for nlohmann/json

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Json

Similar open-source projects, ranked by how many features they share with Json.
  • tencent/rapidjsonTencent avatar

    Tencent/rapidjson

    15,000View on GitHub↗

    RapidJSON is a header-only C++ library designed for high-performance parsing, generation, and manipulation of JSON data. It functions as a dual-mode engine, providing both an in-memory document object model for tree-based manipulation and a stream-based interface for event-driven processing. The library is built to minimize memory footprint and maximize execution speed, making it suitable for resource-constrained environments. The library distinguishes itself through advanced memory management and optimization techniques, including in-situ parsing that modifies input buffers directly to elimi

    C++
    View on GitHub↗15,000
  • simdjson/simdjsonsimdjson avatar

    simdjson/simdjson

    23,260View on GitHub↗

    simdjson is a high-performance, header-only C++ library designed for parsing, querying, and serializing JSON data with minimal memory overhead. It functions as a hardware-aware data processing engine that leverages vector instructions to achieve gigabyte-per-second parsing speeds. By detecting host processor capabilities at runtime, the library automatically selects the most efficient instruction sets to accelerate structural analysis and validation. The library distinguishes itself through a focus on extreme efficiency and resource management. It utilizes memory mapping and padded buffer ali

    C++aarch64arm64avx2
    View on GitHub↗23,260
  • google/flatbuffersgoogle avatar

    google/flatbuffers

    25,558View on GitHub↗

    FlatBuffers is a cross-platform serialization library designed for performance-critical applications that require efficient, zero-copy data access. By organizing data in a structured binary format, it allows applications to read and write complex data structures directly from memory-mapped buffers without the need for intermediate parsing or temporary object allocation. The project distinguishes itself through a schema-driven approach that balances high-performance access with long-term data evolution. It utilizes a unique memory layout featuring relative offsets and inline fixed-size structu

    C++cc-plus-plusc-sharp
    View on GitHub↗25,558
  • kazuho/picojsonkazuho avatar

    kazuho/picojson

    1,153View on GitHub↗

    a header-file-only, JSON parser serializer in C++

    C++
    View on GitHub↗1,153
See all 30 alternatives to Json→

Frequently asked questions

What does nlohmann/json do?

This library is a header-only C++ framework designed for the serialization, parsing, and manipulation of structured data. It provides a recursive variant data model that represents arbitrary structures as native types, allowing developers to navigate, modify, and patch hierarchical data using standard pointer paths and declarative update patterns.

What are the main features of nlohmann/json?

The main features of nlohmann/json are: Data Serialization and Parsing, JSON Processors, Serialization Libraries, Recursive Data Models, Binary Data Formats, Serialization Frameworks, Data Formats, Data Formats and Parsing.

What are some open-source alternatives to nlohmann/json?

Open-source alternatives to nlohmann/json include: tencent/rapidjson — RapidJSON is a header-only C++ library designed for high-performance parsing, generation, and manipulation of JSON… simdjson/simdjson — simdjson is a high-performance, header-only C++ library designed for parsing, querying, and serializing JSON data with… google/flatbuffers — FlatBuffers is a cross-platform serialization library designed for performance-critical applications that require… davegamble/cjson — cJSON is a lightweight library for parsing, creating, and modifying JSON data structures within C applications. It… kazuho/picojson — a header-file-only, JSON parser serializer in C++. open-source-parsers/jsoncpp — JsonCpp is a C++ library for parsing, manipulating, and generating JSON data. It functions as a data interchange tool…