# miloyip/json-tutorial

从零开始的 JSON 库教程

Repository: https://github.com/miloyip/json-tutorial
Canonical: https://ross.abutalabs.com/products/json-tutorial
Homepage: https://zhuanlan.zhihu.com/json-tutorial
Language: C
License Family: other
Last push: 2024-06-14T15:11:33+00:00

## Health v2 (maintenance only)
Score: 32/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 3639, "days_push": 810, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases, no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 7920, forks 4266 (observed 2026-08-28T04:10:09.786719+00:00)

## What it is
A free, open-source Chinese-language tutorial that teaches how to build a standards-compliant JSON parser and generator in C (C89) from scratch, in 9 units with exercises and solutions. It also covers TDD, C programming style, Unicode, floating-point numbers, and tooling like CMake, valgrind, and Doxygen.

## Use cases
- learn to write a JSON parser in C from scratch
- practice test-driven development in C
- understand recursive descent parsing
- learn Unicode and UTF-8 handling in C
- find a guided C programming project after basic courses
- study API design and data structures through a real project

## When to choose
- you know basic C/C++ and want a structured, hands-on project
- you want to learn parser fundamentals with exercises and answers
- you prefer a small (<500 lines) real-world codebase to study

## When to avoid
- you need a production-ready JSON library for an application
- you need JSON features beyond UTF-8 text or double-precision numbers
- you want a tutorial in a language other than Chinese

## Facets
- artifact type: learning-resource
- maturity: maintenance
- function: parser, serialization, testing, developer-tools
- domain: tutorials, parsers, programming-languages, education, developer-tools
- platform: cross-platform, c, windows
- tags: -parser, tutorial, tdd, recursive-descent-parser, c89, hands-on, linux, macos

## Member repositories
- miloyip/json-tutorial (main) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:10:09.786719+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:33:16.208729+00:00, confidence not recorded.
  - readme: https://github.com/miloyip/json-tutorial (fetched 2026-08-28T04:10:09.786719+00:00, sha 556e3eacc098)
- Data as of 2026-08-30T08:39:29.467469+00:00.
