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
miloyip avatar

miloyip/json-tutorial

0
View on GitHub↗

Json Tutorial

This is an educational tutorial that walks through implementing a complete JSON library from scratch in C. The project covers the full data lifecycle of JSON, including parsing text into structured in-memory representations, validating input against the specification, serializing data back into standard JSON output, and providing structured access to elements within parsed arrays and objects.

The implementation is built around a hand-written recursive descent parser that processes JSON text by matching grammar rules to build a structured data tree. Parsed values are stored in a tagged union representation with explicit type, number, string, array, and object fields, while memory is managed manually through explicit allocation and deallocation of value structures and string buffers. The library includes a compact serialization generator that produces JSON output by recursively walking the value tree and writing formatted text, along with a custom double-precision number parser that converts JSON number tokens into IEEE 754 double values.

The project covers JSON validation with clear syntax error reporting through a fixed set of integer error codes, and provides a structured query interface for retrieving and modifying elements within parsed arrays and objects. The documentation and source code are organized as a step-by-step tutorial, making the implementation accessible for learning how to build a JSON library from the ground up.

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
zhuanlan.zhihu.com/json-tutorial
↗

Features

  • JSON Library Tutorials - Provides a hands-on tutorial that walks through implementing a full JSON library from scratch.
  • JSON Serializers - Converts internal data structures back into standard JSON text for output using a compact serializer.
  • Recursive Descent Parsers - Processes JSON text by recursively matching grammar rules to build a structured data tree.
  • Hand-Written Parser Tutorials - Teaches building a JSON parser from scratch without relying on libraries, focusing on recursive descent techniques.
  • JSON Parsers - Parses JSON text using a hand-written recursive descent parser that produces standard-compliant internal representations.
  • JSON Parsing - Parses JSON strings into structured data representations using a hand-written recursive descent parser.
  • Tutorials - Teaches writing a recursive descent parser that converts JSON text into a structured data representation.
  • Manual Memory Management - Manages memory explicitly through allocation and deallocation of value structures and string buffers.
  • JSON Syntax Validators - Validates JSON input against the specification and reports syntax errors with clear messages.
  • JSON Syntax Validators - Checks JSON input against the specification and reports syntax errors with clear messages.
  • Tagged Union Value Representations - Stores parsed JSON data in a tagged union structure with type, number, string, array, and object fields.
  • JSON Value Access Interfaces - Provides a structured query interface for retrieving and modifying elements within parsed JSON arrays and objects.
  • JSON Serializers - Serializes internal data structures back into standard JSON text using a compact generator.
  • Structured JSON Generation - Generates valid JSON strings from internal data structures using a compact serializer.
  • JSON Document Manipulation - Provides structured access to retrieve and modify elements within parsed JSON arrays and objects.
  • Double-Precision Number Parsers - Implements a custom strtod to parse JSON number tokens into IEEE 754 double values.
  • JSON Serialization - Produces JSON strings from internal data structures to enable round-trip serialization.
  • Compact Serialization - Ships a compact serializer that walks the value tree and writes formatted JSON text to a buffer.
  • Parse Error Reporters - Reports parsing failures through a fixed set of integer error codes returned from each parse function.
  • Syntax Validations - Checks whether a given string conforms to the JSON standard and reports any syntax errors.
7,939 stars·4,288 forks·C·35 views

Star history

Star history chart for miloyip/json-tutorialStar history chart for miloyip/json-tutorial

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 miloyip/json-tutorial do?

This is an educational tutorial that walks through implementing a complete JSON library from scratch in C. The project covers the full data lifecycle of JSON, including parsing text into structured in-memory representations, validating input against the specification, serializing data back into standard JSON output, and providing structured access to elements within parsed arrays and objects.

What are the main features of miloyip/json-tutorial?

The main features of miloyip/json-tutorial are: JSON Library Tutorials, JSON Serializers, Recursive Descent Parsers, Hand-Written Parser Tutorials, JSON Parsers, JSON Parsing, Tutorials, Manual Memory Management.

Which projects share features with miloyip/json-tutorial?

Projects with overlapping indexed features include: sbjson/sbjson — SBJson is an Objective-C JSON parser and generator designed for the parsing and generation of JSON data. It functions… johnezang/jsonkit — JSONKit is an Objective-C library used for parsing, serializing, and manipulating JSON data. It functions as a JSON… serde-rs/json — This is a Rust serialization library for converting data structures to and from JSON strings and byte streams. It is… vba-tools/vba-json — VBA-JSON is a library designed for parsing and serializing JSON data within Visual Basic for Applications… bblanchon/arduinojson — ArduinoJson is a C++ library for parsing and manipulating JSON data and MessagePack binary streams on microcontrollers… open-source-parsers/jsoncpp — JsonCpp is a C++ library for parsing, manipulating, and generating JSON data. It functions as a data interchange tool…

Projects sharing features with Json Tutorial

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

    SBJson/SBJson

    3,717View on GitHub↗

    SBJson is an Objective-C JSON parser and generator designed for the parsing and generation of JSON data. It functions as a strict JSON validator, enforcing rigid grammar rules to ensure input data adheres to formal specifications. The project features an incremental JSON stream parser that processes UTF8 data in chunks to extract documents without loading the entire payload into memory. It also serves as a JSON data serializer that transforms native data objects into formatted strings using deterministic key sorting. The system manages data serialization workflows and implements security mea

    Objective-C
    View on GitHub↗3,717
  • johnezang/jsonkitjohnezang avatar

    johnezang/JSONKit

    6,180View on GitHub↗

    JSONKit is an Objective-C library used for parsing, serializing, and manipulating JSON data. It functions as a JSON parser that converts text into native data structures and a serializer that transforms native objects into formatted JSON text. The library includes a gzip compression wrapper that compresses serialized JSON payloads to reduce network transfer sizes and automatically detects and decompresses gzip buffers before decoding. The toolset provides capabilities for JSON parsing and serialization, supporting customizable indentation, character escaping, and flexible comment handling.

    Objective-C
    View on GitHub↗6,180
  • serde-rs/jsonserde-rs avatar

    serde-rs/json

    5,587View on GitHub↗

    This is a Rust serialization library for converting data structures to and from JSON strings and byte streams. It is built as a framework within the Serde ecosystem, providing both a strongly typed parser for compile-time safety and a recursive value tree for manipulating JSON data without a predefined schema. The project supports both typed and untyped processing. It can map JSON data into specific Rust types for schema conformity or parse input into a flexible, schemaless representation. It also includes macro-based utilities for the dynamic construction of JSON objects.

    Rustjsonrustserde
    View on GitHub↗5,587
  • vba-tools/vba-jsonVBA-tools avatar

    VBA-tools/VBA-JSON

    2,117View on GitHub↗

    VBA-JSON is a library designed for parsing and serializing JSON data within Visual Basic for Applications environments. It functions as an office automation data library, enabling legacy Microsoft Office applications to process structured data and interact with modern web services. The tool converts raw JSON text into native objects and collections, allowing developers to access and manipulate data using standard indexing and iteration methods. It also performs the reverse operation, transforming native language structures into JSON-compliant strings for exchange with external systems. By ha

    Visual Basic
    View on GitHub↗2,117
Compare all 30 related projects→