Skip to content

Add JSON migration documentation and backend abstraction proposal#52

Open
Easton97-Jens wants to merge 1 commit intov3/masterfrom
codex/create-technical-migration-documentation-for-json-libraries
Open

Add JSON migration documentation and backend abstraction proposal#52
Easton97-Jens wants to merge 1 commit intov3/masterfrom
codex/create-technical-migration-documentation-for-json-libraries

Conversation

@Easton97-Jens
Copy link
Copy Markdown
Owner

Motivation

  • The codebase currently relies heavily on YAJL in multiple roles (streaming/SAX parser, writer/serializer and DOM/test utilities) and needs a migration path to replace YAJL without breaking behavior.
  • A clear evaluation of alternative JSON libraries and an integration strategy are required to plan a safe, phased migration.
  • The repository build systems and tests must be considered when introducing replaceable backends and packaging options.

Description

  • Add a comprehensive docs/json-migration/ handbook covering an overview, per-library evaluations, architecture options, build-system integration, recommendation matrix and a phased migration plan.
  • Provide per-library assessments (RapidJSON, nlohmann/json, json-c, jansson, cJSON, jsoncpp, jsoncons, simdjson, yyjson, glaze) in both German and English under docs/json-migration/ and docs/json-migration/en/.
  • Propose an internal abstraction (src/json_backend/ sketch) including IJsonStreamParser, IJsonWriter, capability flags and an approach to support separate parser/writer/DOM backends.
  • Document Autotools and CMake integration suggestions, CI matrix changes, pkg-config considerations and a prioritized PoC sequence (YAJL adapter → json-c → jansson/yyjson → optional C++ backends).

Testing

  • No automated tests were run for this change because the submission is documentation-only and does not modify runtime code or tests.

Codex Task

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant