HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
nlohmann
json
C++2015–2025
nlohmann / json

json

JSON for Modern C++

32Distinct people
38Mentions
0Explicit recommenders
50.9KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

JSON for Modern C++

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 12:54:37 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year38 dated mentions

Observed mentions: 2015-01-04 18:20:40 UTC to 2025-05-17 19:18:24 UTC.

0123452015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 2 mentions; 2 submissions, 0 comments20152016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 4 mentions; 3 submissions, 1 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 5 mentions; 3 submissions, 2 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC220
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC431
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC532
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC413
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC413
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC413
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC514
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC303
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC312
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC312

What Hacker News says

38 sources
When you want full control over your C++ project without fighting with CMake boilerplate or inconsistent dependency setups, meet Zyn — a powerful tool designed for modern C++ workflows with Git-level dependency tracking, semantic versioning, and a clean project structure. Quick Start Create your project in seconds: zyn new my_project cd my_project Add dependencies directly from Git: zyn install https://github.com/fmtlib/fmt.git@9.1.0 Run it fast, run it clean: zyn run --release Why Zyn? Unlike legacy build systems, Zyn keeps things predictable, clean, and modular: Git-based dependencies with version locking Semantic versioning support Clean project layout with predictable src/, include/, and .zyn/ folders C++ standards support out of the box Automatic compiler flag generation Commands Command What it does zyn new <name> Create a new proje
Read the rest
ct zyn install <url> Install dependency from Git zyn add <path> Add a local dependency zyn run [--debug/--release] Run app zyn update Update all dependencies zyn clean Wipe build artifacts Project Structure Zyn generates a structure that makes sense: project/ ├── .zyn/ │ ├── deps/ # Git dependencies │ ├── build/ # Compiled outputs │ └── lock/ # Version locks ├── src/ # C++ source files ├── include/ # C++ headers └── zyn.toml # Central project config Configuration Example ` [project] name = "my_app" version = "1.0.0" language = "cpp" standard = "c++20" compiler = "clang++" [directories] sources = "src" include = "include" build = ".zyn/build" [dependencies] fmt = { git = "https://github.com/fmtlib/fmt.git", tag = "9.1.0" } boost = { path = "/opt/boost" } [libraries] lib_dirs = ["/usr/local/lib"] libraries = ["pthread", "dl"] ` Dependency Management Add a Git repo directly: [dependencies] json = { git = "https://github.com/nlohmann/json.git", tag = "v3.11.2" } Or use a local path: [dependencies] mylib = { path = "../mylib" } Zyn will lock versions, build automatically, and ensure reproducibility. Best Practices Always commit zyn.toml and .zyn/lock/ Use tagged releases instead of branches Run zyn update regularly to keep deps fresh Prefer minimal, focused dependencies — Zyn makes it easy Conclusion Zyn is what happens when you combine modern package management with low-level power. If you're serious about C++, and want a real workflow, try Zyn. Forget clutter. Forget hacks. Just build. Zyn — When Control Begins.
In [dead]
I have not done a "desktop" program in 25+ years and never using C++ (or C), since then I'm mostly a web developer (PHP, Elixir, JS, Kotlin etc). I'm currently doing a C++ audio plugin with the Juce framework. This website has been a good resource, alongside https://www.learncpp.com But I was actually close to give up before using those two things: - https://github.com/nlohmann/json : my plugin use a json api backend and the Juce json implementation is atrocious (apparently because of being born with a previous C++ version), but this library is GREAT. - ChatGPT 4. I'm not sure I would have "succeeded" without it, at least not in a reasonable time frame. ChatGPT 3.5 is slow and does not give good results for my use case but 4 is impressive. And I use in a very dumb way, just posing question in the web UI. I probably could have it directly
Read the rest
in MSVC? Also I must say, for all its flaws, I have a renewed appreciation for doing UI on the web ;)
In Learn Modern C++
In C++ you get the great https://github.com/nlohmann/json In Rust you have the amazing serde with serde_json but at this point, you can use toml which is also based on serde. I consider serde as being standard. In C you have the lib jason which is very good. In Elixir, I use the compile-time configuration (config/config.exs) with environment variables for production, but that's because in the end, my Elixir system is in a Docker container, running on Kubernetes, with a ConfigMap defining the environment variables, so in the end, it's YAML (or JSON).
In Why JSON Isn’t A Good Configuration Language (2018)
This is a question I've struggled with ever since I started working in the field. In terms of definition, software development ticks all the boxes - depending on who you ask. Yet every way you look at it, something just doesn't feel right. Sure, there's best practices, models, a strong mathematical foundation, but on the other hand there's way too much freedom. By "freedom" I strictly mean lack of limitations. While the laws of physics dictate what can and can't be done in traditional engineering disciplines, the same cannot be said about software. A good design can be quantified, tested, and improved based on hard data (and eventual failure). A good program, however, is super hard to qualify. What even is "good maintainability" in terms of software? Is it a bunch of metrics like cyclomatic complexity, Halstead volume, and lines of code h
Read the rest
aphazardly cobbled together to form an arbitrary index value? With traditional engineering you have material properties like tensile strength that you can match against requirements and safety margins. What's the equivalent of tensile strength of a software product and can we measure it? For decades people in scientific computing have relied on Fortran programs that defy any modern notion of maintainability. The subroutines and "drivers" are limited to 6-character names and functions with >25 arguments are not uncommon. Yet they still work, are still used and stood the test of time despite archaic properties [0], which require users to memorise large tables of codes for data types and routine names. I also feel that despite these limitations, libraries like LAPACK are more readable and maintainable than modern C++ monstrosities like this [1]. [0] http://www.netlib.org/lapack/lug/node24.html [1] https://github.com/nlohmann/json
In Is the madness ever going to end?

Showing the 15 most recent of 38 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.