diff --git a/README.md b/README.md index d4d2394a2..4b4236bb6 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,7 @@ - [Specializing enum conversion](#specializing-enum-conversion) - [Binary formats (BSON, CBOR, MessagePack, UBJSON, and BJData)](#binary-formats-bson-cbor-messagepack-ubjson-and-bjdata) - [Customers](#customers) +- [Ecosystem](#ecosystem) - [Supported compilers](#supported-compilers) - [Integration](#integration) - [CMake](#cmake) @@ -1186,6 +1187,11 @@ The library is used in multiple projects, applications, operating systems, etc. [![logos of customers using the library](docs/mkdocs/docs/images/customers.png)](https://json.nlohmann.me/home/customers/) +## Ecosystem + +Beyond projects that use the library, there are third-party projects that build on top of it - schema validators, +language bindings, format converters, and the like. See the curated [Ecosystem](https://json.nlohmann.me/community/ecosystem/) page. + ## Supported compilers Though it's 2026 already, the support for C++11 is still a bit sparse. Currently, the following compilers are known to work: diff --git a/docs/mkdocs/docs/community/ecosystem.md b/docs/mkdocs/docs/community/ecosystem.md new file mode 100644 index 000000000..801111e7d --- /dev/null +++ b/docs/mkdocs/docs/community/ecosystem.md @@ -0,0 +1,40 @@ +# Ecosystem + +The projects below build on top of `nlohmann::json` rather than merely using it - schema validators, language +bindings, format converters, and similar building blocks. The list is not exhaustive, and is curated rather than +automatically generated. If you maintain or know of a project that belongs here, +[please let me know](mailto:mail@nlohmann.me). + +For products, applications, and organizations that use the library, see [Customers](../home/customers.md) instead. + +## Schema validation + +- [**json-schema-validator**](https://github.com/pboettch/json-schema-validator), a JSON Schema (draft 7) validator + with human-readable error messages + +## Serialization and reflection + +- [**nlohmann_json_reflect**](https://github.com/1261385937/nlohmann_json_reflect), a reflection extension for + (de)serializing nested containers-in-structs-in-containers + +## Encodings + +- [**base-encode-decode**](https://github.com/saxonnicholls/base-encode-decode), a header-only Base64/32/16/8/4/2 + (and DNA/RNA) encoding library, with an adapter that serializes binary data through `nlohmann::json` + +## Language bindings and interop + +- [**pybind11_json**](https://github.com/pybind/pybind11_json), a bidirectional type caster between + `nlohmann::json` and Python objects for [pybind11](https://github.com/pybind/pybind11) bindings +- [**nanobind_json**](https://github.com/ianhbell/nanobind_json), the same idea for + [nanobind](https://github.com/wjakob/nanobind) bindings +- [**nlohmann_json_qt**](https://github.com/dpurgin/nlohmann_json_qt), deserialization helpers for Qt types + (`QString`, `QUrl`, `QDateTime`, `QVector`, ...) from `nlohmann::json` +- [**vulkan2json**](https://github.com/Fadis/vulkan2json), serialization and deserialization of Vulkan API structs + +## Format converters + +- [**tojson**](https://github.com/mircodz/tojson), a header-only converter between YAML/XML documents and + `nlohmann::json` +- [**json2xml**](https://github.com/testillano/json2xml), a header-only converter from `nlohmann::json` to XML for + simple configuration documents diff --git a/docs/mkdocs/docs/community/index.md b/docs/mkdocs/docs/community/index.md index caef17be3..50baeab25 100644 --- a/docs/mkdocs/docs/community/index.md +++ b/docs/mkdocs/docs/community/index.md @@ -1,5 +1,6 @@ # Community +- [Ecosystem](ecosystem.md) - third-party projects built on top of this library - [Code of Conduct](code_of_conduct.md) - the rules and norms of this project - [Contribution Guidelines](contribution_guidelines.md) - guidelines how to contribute to this project - [Governance](governance.md) - the governance model of this project diff --git a/docs/mkdocs/mkdocs.yml b/docs/mkdocs/mkdocs.yml index fe786f7d5..2e1337f47 100644 --- a/docs/mkdocs/mkdocs.yml +++ b/docs/mkdocs/mkdocs.yml @@ -308,6 +308,7 @@ nav: - 'NLOHMANN_JSON_VERSION_MAJOR, NLOHMANN_JSON_VERSION_MINOR, NLOHMANN_JSON_VERSION_PATCH': api/macros/nlohmann_json_version_major.md - Community: - community/index.md + - community/ecosystem.md - "Code of Conduct": community/code_of_conduct.md - community/contribution_guidelines.md - community/quality_assurance.md