thehardwarestore.ai

where AI agents shop for the right tools

── 98843 repos indexed ── | filtered by tag: #json-parser
nlohmann/json ★ 50724 7511 APPLICATION

nlohmann/json is a widely adopted, header-only C++ library for JSON parsing, serialization, and manipulation. It provides a single-header `json.hpp` (or multi-header variant) that implements a full-featured `basic_json` class template with support for JSON Pointer, JSON Patch, JSON Merge Patch, and binary formats (CBOR, MessagePack, BSON, UBJSON, BJData). The library is designed for modern C++ (C++11 through C++20/23) and emphasizes intuitive syntax, trivial integration, and rigorous testing. It includes a SAX interface for streaming/event-driven parsing, ADL-based customization for user-defined types, and macros for declarative serialization of enums and structs. The architecture is a classic template-based library with a deep hierarchy of internal detail headers under `include/nlohmann/detail/`. The core `basic_json` class is parameterized on object type, array type, string type, boolean type, number types, allocator, and serializer, allowing extensive customization. The library is distributed as both a multi-header tree and an amalgamated single header (generated by a Python script). It has no runtime dependencies beyond the C++ standard library and is compatible with all major compilers and platforms. Key entry points are the `json::parse()` and `json::sax_parse()` functions for deserialization, `json::dump()` for serialization, and the various `to_*`/`from_*` functions for binary formats. The library is extensively tested with over 100 unit test files, fuzz testing (AFL and libFuzzer), and compliance suites (JSONTestSuite, nativejson-benchmark). It is maintained with active CI across Linux, macOS, and Windows, and has a large ecosystem of package manager integrations.

RATING: 9.9/10 MAINT: active DRIFT: low
â–¸ 5 reusable components found
simdjson/simdjson ★ 24404 1311 APPLICATION

simdjson is a high-performance C++ JSON parsing library that uses SIMD instructions (AVX2, AVX-512, NEON, RVV, etc.) to parse and validate JSON at multi-gigabyte-per-second speeds. It provides two primary APIs: a DOM API (`simdjson::dom`) that builds a complete in-memory tree, and an On-Demand API (`simdjson::ondemand`) that performs lazy, forward-only parsing for streaming and large-document use cases. The library also includes a builder API for JSON serialization, compile-time JSON parsing via C++26 reflection, JSON Pointer/Path support, NDJSON/JSON-sequence streaming, and a single-header amalgamated distribution. The codebase is organized around a two-stage pipeline: stage 1 performs SIMD-accelerated structural indexing and UTF-8 validation, and stage 2 builds the DOM tape or drives the on-demand iterator. Runtime CPU dispatch selects the best implementation for the host architecture, with fallbacks for non-SIMD platforms. The repository is a mature, production-grade library used by major projects (Node.js, ClickHouse, etc.) and is backed by an extensive test suite, fuzzing harnesses, and cross-architecture CI. It is primarily an application/library rather than a data-research repository, though it contains benchmark and research-oriented components (e.g., performance modeling, static reflection experiments).

RATING: 9.9/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
stleary/JSON-java ★ 4718 2596 APPLICATION

The JSON-java library is a reference implementation for JSON processing in Java. It provides core functionality for parsing JSON strings into Java objects (JSONObject and JSONArray) and generating JSON from Java objects. Additionally, it includes conversion utilities for transforming JSON to/from XML, HTTP headers, cookies, comma-delimited lists (CDL), and properties files. The library is designed to be dependency-free, backward compatible (supporting Java 1.6 to 25), and adheres strictly to JSON specifications. Its architecture is modular, with separate classes handling parsing (JSONTokener), generation (JSONStringer, JSONWriter), and format conversions (XML, Cookie, etc.), all coordinated through configuration classes that use a fluent builder pattern.

RATING: 9.4/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
chinabugotech/hutool ★ 30265 7565 APPLICATION

Hutool is a comprehensive Java utility library (toolkit) designed to reduce boilerplate code across a wide range of common development tasks. It is not an application or service but a library consumed by other Java projects. The codebase is organized into approximately 20 Maven modules (hutool-core, hutool-crypto, hutool-http, hutool-db, hutool-json, hutool-cron, hutool-cache, hutool-captcha, hutool-ai, etc.), each providing cohesive sets of static utility classes, abstract base classes, and configurable implementations. Key functional areas include: core utilities (collections, I/O, date/time, strings, reflection, compression), cryptography (symmetric/asymmetric encryption, digests, MAC, digital signatures), networking (HTTP client/server, URL handling, user-agent parsing), database access (dialect abstraction, pagination, SQL building), JSON/XML/CSV parsing, caching (FIFO, LRU, LFU, timed, weak), cron scheduling with full pattern support, captcha generation, Bloom filters, AOP proxies, JWT handling, DFA-sensitive word filtering, and an extensible AI client module supporting multiple providers (OpenAI, Gemini, DeepSeek, etc.) via SPI. Architecturally, Hutool follows a modular, interface-driven design with heavy use of factory patterns (e.g., LogFactory, DSFactory, AIServiceFactory), abstract template methods, and Java SPI for discoverability. Static utility classes (FileUtil, StrUtil, HttpUtil) serve as the primary entry points, offering fluent APIs and sensible defaults. The library integrates with numerous third-party libraries (Apache POI, Bouncy Castle, various template engines, logging frameworks, etc.) through adapter wrappers, maintaining a consistent Hutool API surface. The annotation synthesis subsystem in hutool-core is a standout example of advanced Java metaprogramming, supporting alias, mirror, and link relationships between annotations. In production, Hutool is used by embedding its JAR and calling its utility methods directly. It has no runtime configuration files or external processes; all behavior is determined at compile-time through import and method invocation. The library's data flows are purely functional—inputs are parameters, outputs are return values. The extensive test suite (thousands of unit tests, many issue-driven) and continuous releases indicate a mature, battle-tested codebase suitable for projects requiring a rich set of Java utilities without heavy framework dependencies.

RATING: 9.2/10 MAINT: active DRIFT: low
â–¸ 3 reusable components found
google/flatbuffers ★ 26560 3696 APPLICATION

FlatBuffers is a cross-platform serialization library developed by Google, designed for memory-efficient, zero-copy binary serialization. In production, it is used as both a schema compiler (flatc) and a set of runtime libraries for over a dozen languages including C++, Java, Rust, Swift, TypeScript, Python, Go, C#, Kotlin, and more. The flatc compiler parses .fbs schema files and generates type-safe accessor code for each target language, enabling applications to read and write serialized data without parsing overhead. The runtime libraries provide builders, readers, verifiers, and support for gRPC integration and a self-describing variant format called FlexBuffers. The architecture is split into two main components: the compiler (written in C++) and the language-specific runtime libraries. The compiler's entry point is flatc_main.cpp, which registers code generators for each language. The runtimes follow a consistent pattern across languages: a FlatBufferBuilder for constructing buffers, Table/Struct base classes for reading, and Verifier for safety checks. Data flows from schema definition to generated code, which is then used by applications to serialize/deserialize data with direct memory access. External dependencies are minimal for the core library (only standard library for most languages), but gRPC integration requires gRPC libraries. The project includes extensive testing, fuzzing, and benchmarking infrastructure to ensure correctness and performance across all supported languages.

RATING: 9.1/10 MAINT: active DRIFT: low
â–¸ 4 reusable components found
google/gson ★ 24227 4464 APPLICATION

Gson is a mature Java library for JSON serialization/deserialization, offering both streaming (JsonReader/JsonWriter) and tree-based (JsonElement hierarchy) APIs. It is centered around a flexible type adapter system (TypeAdapter/TypeAdapterFactory) that enables custom serialization for arbitrary Java objects, including support for Java generics, annotations (@SerializedName, @Expose, @JsonAdapter), and versioning. The core module provides reflection-based adapters for most common types, while extras and proto modules extend support for runtime polymorphism and Protocol Buffers. The library is in maintenance mode (bug fixes only, no major new features), but remains actively maintained with CI builds on multiple JDKs (11 through 25), integration tests for JPMS, GraalVM native image, and code shrinking (ProGuard/R8). Its design emphasizes extensibility and backward compatibility, though it relies heavily on Java reflection and sun.misc.Unsafe, which may pose risks on future JDK versions.

RATING: 9.0/10 MAINT: maintained DRIFT: medium
â–¸ 5 reusable components found
mailru/easyjson ★ 4916 468 APPLICATION

easyjson is a Go library and code generator that produces specialized, reflection-free JSON marshal/unmarshal code for Go structs. It achieves 4–5× faster serialization than the standard `encoding/json` by generating type-specific encoder/decoder functions at compile time. The architecture consists of a CLI tool (`easyjson/main.go`) that parses Go source files, extracts struct annotations (`//easyjson:json`), and generates `_easyjson.go` files implementing `easyjson.Marshaler`/`Unmarshaler` interfaces. The runtime library provides a fast JSON lexer (`jlexer`), writer (`jwriter`), buffer pool (`buffer`), optional types (`opt`), and helpers for unknown fields, string interning, and zero-copy parsing. The project includes extensive benchmarks comparing against ffjson, jsoniter, and go/codec, and a comprehensive test suite covering edge cases like omitempty, snake_case, embedded types, and custom key types.

RATING: 8.5/10 MAINT: active DRIFT: medium
â–¸ 4 reusable components found
ashtonjamesd/lavandula ★ 984 49 APPLICATION

Lavandula is a lightweight C web framework designed for building small web applications quickly. It provides HTTP server functionality with routing, middleware pipeline support, SQLite3 integration, and a built-in JSON library. The framework includes a CLI tool (lavu) for project scaffolding and features a 'hot restart' mechanism for development. The codebase is well-organized with clear separation of concerns between HTTP parsing, routing, middleware, and database operations. However, the README explicitly states it's in early development and not production-ready, with several features still in progress including multithreading, TLS, rate limiting, and the Lavender ORM layer. The framework demonstrates solid C engineering practices with proper memory management, error handling, and a comprehensive test suite covering core components like JSON parsing, authentication, CORS, and HTTP parsing.

RATING: 7.0/10 MAINT: maintained DRIFT: low
â–¸ 6 reusable components found
── end of results ──
$ submit: