awesome-repositories.com
Blog
MCP
awesome-repositories.com

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

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
zserge avatar

zserge/jsmn

0
View on GitHub↗

Jsmn

jsmn is a lightweight JSON parser library written in C. It provides zero-copy tokenization and incremental parsing designed for use in embedded systems and memory-constrained environments.

The library identifies structural JSON elements by providing offsets into the original string rather than allocating new memory for data. It uses a single-pass scanning method and requires static-buffer allocation, meaning the caller provides the memory for tokens to avoid dynamic allocation during the parsing process.

The parser supports incremental streaming, allowing it to process JSON data in chunks from a network or file stream and resume parsing as new information arrives. This approach enables the processing of large datasets without requiring the full payload to be resident in memory.

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

Features

  • Zero-Copy Deserialization - Implements a zero-copy approach by identifying token boundaries in the original string instead of copying data into new buffers.
  • Embedded JSON Parsing - A zero-copy, single-pass method for identifying tokens and boundaries in a string to avoid dynamic memory allocation.
  • Incremental JSON Parsing - Provides a streaming process that handles data in chunks, allowing the parser to resume as new information becomes available.
  • Incremental Data Streaming - Implements internal state management to pause and resume parsing as JSON data arrives in chunks from a stream.
  • JSON Parsers - Implements a low-level JSON parser that breaks strings into structural tokens for high-performance pipelines.
  • Token Offset Mapping - Represents JSON elements as integer offsets and lengths pointing back to the original source string.
  • Zero-Copy Data Access - Extracts information from JSON strings by identifying token boundaries without copying data into new structures.
  • JSON Tokenizers - Processes JSON data by providing offsets into the original string rather than allocating new memory.
  • Static Memory Allocations - Requires the caller to provide a pre-allocated token array to eliminate dynamic memory allocation during parsing.
  • Single-Pass Tokenizers - Analyzes the input stream in a single pass to identify tokens without backtracking or multiple iterations.
  • JSON Tokenizers - Provides a single-pass utility for identifying structural elements and boundaries within a JSON string.
  • JSON - Provides a streaming parser specialized for the incremental processing of large JSON datasets arriving in chunks.
  • C Libraries - Provides a portable, lightweight JSON implementation written in C for binary linking.
  • Data Formats and Parsing - Minimalistic JSON parser.
  • JSON Processing - Minimalistic JSON parser in C.
  • Embedded Software Libraries - Compact JSON parsing library for C.
  • Embedded Utility Libraries - Compact JSON parser for C-based embedded systems.
  • Json - Listed in the “Json” section of the Awesome Cpp Cn awesome list.
4,065 stars·807 forks·C·mit·24 views

Star history

Star history chart for zserge/jsmnStar history chart for zserge/jsmn

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Frequently asked questions

What does zserge/jsmn do?

jsmn is a lightweight JSON parser library written in C. It provides zero-copy tokenization and incremental parsing designed for use in embedded systems and memory-constrained environments.

What are the main features of zserge/jsmn?

The main features of zserge/jsmn are: Zero-Copy Deserialization, Embedded JSON Parsing, Incremental JSON Parsing, Incremental Data Streaming, JSON Parsers, Token Offset Mapping, Zero-Copy Data Access, JSON Tokenizers.

Which projects share features with zserge/jsmn?

Projects with overlapping indexed features include: davegamble/cjson — cJSON is a lightweight library for parsing, creating, and modifying JSON data structures within C applications. It… tidwall/gjson — gjson is a Go JSON parser designed for schema-less reading and value extraction. It allows for the retrieval of… serde-rs/serde — This project is a framework for the efficient serialization and deserialization of data structures. It provides a… simdjson/simdjson — simdjson is a high-performance, header-only C++ library designed for parsing, querying, and serializing JSON data with… fasterxml/jackson — Jackson is a Java data binding framework and multi-format data serializer used to translate data structures into… ibireme/yyjson — yyjson is a high-performance C library for parsing, serializing, and manipulating JSON data structures. It functions…

Projects sharing features with Jsmn

These projects share indexed features with Jsmn. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • davegamble/cjsonDaveGamble avatar

    DaveGamble/cJSON

    12,466View on GitHub↗

    cJSON is a lightweight library for parsing, creating, and modifying JSON data structures within C applications. It provides a comprehensive set of utilities for transforming raw text into navigable objects, manipulating data fields within collections, and serializing complex structures into formatted or unformatted strings. The library is designed for memory-sensitive and resource-constrained environments, utilizing manual memory management and type-tagged union structures to maintain a minimal footprint. It employs recursive descent parsing and in-place string manipulation to process data ef

    C
    View on GitHub↗12,466
  • tidwall/gjsontidwall avatar

    tidwall/gjson

    15,521View on GitHub↗

    gjson is a Go JSON parser designed for schema-less reading and value extraction. It allows for the retrieval of specific data from JSON documents using dot-notation paths without requiring the definition of predefined Go structs. The library provides tools for path-based querying, including the use of wildcards and index-based queries to locate data within objects and arrays. It also functions as a JSON lines processor, treating multi-line documents as arrays to iterate and query individual entries. Additional capabilities include converting JSON values into native Go types such as strings,

    Go
    View on GitHub↗15,521
  • serde-rs/serdeserde-rs avatar

    serde-rs/serde

    10,457View on GitHub↗

    This project is a framework for the efficient serialization and deserialization of data structures. It provides a unified, macro-based interface that automates the conversion of complex internal objects into standardized formats and reconstructs them from raw input streams or buffers. By leveraging compile-time code generation, the library minimizes manual implementation overhead while ensuring consistent logic across diverse data types. The framework distinguishes itself through a format-agnostic data model and a visitor-based parsing architecture that decouples data structures from specific

    Rustderiveno-stdrust
    View on GitHub↗10,457
  • 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
Compare all 30 related projects→