Skip to content

Add nlohmann/json, RapidJSON, and HuJSON to "Tools and Libraries"#21

Open
chirsz-ever wants to merge 1 commit intoJSONC-org:mainfrom
chirsz-ever:patch-1
Open

Add nlohmann/json, RapidJSON, and HuJSON to "Tools and Libraries"#21
chirsz-ever wants to merge 1 commit intoJSONC-org:mainfrom
chirsz-ever:patch-1

Conversation

@chirsz-ever
Copy link
Copy Markdown

@chirsz-ever chirsz-ever commented Apr 16, 2026

nlohmann/json

JSON for Modern C++

  • repository: https://github.com/nlohmann/json
  • language: C++
  • usage: parsing, serializing, editing
  • JSONC support: by optional arguments when invoking the basic_json::parse and some other methods, ignore_comments=true for comments, ignore_trailing_commas=true for trailing commas.
  • Why to add it: nlohmann/json is very popular in the community. It is a single-header JSON parsing and serialization library that makes full use of modern C++ features.

RapidJSON

A fast JSON parser/generator for C++ with both SAX/DOM style API

  • repository: https://github.com/Tencent/rapidjson
  • language: C++
  • usage: parsing, serializing, editing and validating
  • JSONC support: by optional template parameters when invoking the GenericDocument::Parse and some other methods, kParseCommentsFlag for comments, kParseTrailingCommasFlag for trailing commas.
  • Why to add it: RaidJSON is a classic header-only high-performance JSON processing library that ranks highly in performance benchmarks and is widely used in various projects.

HuJSON

JSON for Humans (JWCC: JSON w/ comments and trailing commas)

  • repository: https://github.com/tailscale/hujson
  • language: Go
  • usage: parsing
  • JSONC support: support comments and trailing commas by default
  • Why to add it: HuJSON is the configuration parsing library used by the well-known project Tailscale.

Insert in lexicographical order.

These projects are either well-known projects or used by well-known projects; including them demonstrates an existing need for the JSONC specification.

@DecimalTurn
Copy link
Copy Markdown
Member

Thanks for the PR, can you please add the missing information described in the CONTRIBUTING.md file?

Adding a new tool or library

If you would like to add a tool or library to the site, please include enough information for us to evaluate whether it should be listed.

We may refuse to list a tool if there are already listed tools that accomplish the same task. The goal is not to maintain a complete directory of every JSONC-related project. If your tool overlaps with an existing entry, please explain why it should still be included, for example because it offers better DX, better performance, better platform support or better maintenance.

When proposing a new entry, please provide in the PR comment:

  • The name of the tool or library with a brief description of what it does.
  • A link to the source repository.
  • The programming language or ecosystem it targets.
  • The main use case it covers (parsing, serializing, editing, validating or converting).
  • Whether it supports the JSONC features by default or via an optional argument (for both comments and trailing commas).
  • If similar tools are already listed, a short explanation of what sets it apart with some evidence such as benchmark results, documentation quality, API ergonomics, adoption or active maintenance.

@chirsz-ever
Copy link
Copy Markdown
Author

Relevant information has been added to the fisrt comment. Please review.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants