Einführung in nlohmann/json: Was es ist und warum man es braucht
\n\nDie Bibliothek nlohmann/json (auch bekannt als JSON for Modern C++) ist eine der beliebtesten und benutzerfreundlichsten Bibliotheken für die Arbeit mit JSON in der Sprache C++. Sie wurde von Niels Lohmann entwickelt und wird unter der MIT-Lizenz vertrieben. Das Hauptziel der Bibliothek ist es, eine intuitive, moderne und sichere Schnittstelle zum Parsen, Erstellen, Ändern und Serialisieren von JSON-Daten bereitzustellen.
\n\nWofür wird sie benötigt? In der modernen Entwicklung ist JSON (JavaScript Object Notation) der De-facto-Standard für den Datenaustausch zwischen Diensten, die Speicherung von Konfigurationen, die Arbeit mit APIs und Webanwendungen. Die Standardbibliothek von C++ bietet keine integrierte Unterstützung für JSON, daher müssen Entwickler entweder eigene Parser schreiben oder auf Drittanbieterlösungen zurückgreifen. nlohmann/json löst dieses Problem, indem es Folgendes bietet:
\n\n- \n
- Einfache Syntax — die Arbeit mit JSON ähnelt der Arbeit mit integrierten STL-Containern (std::map, std::vector). \n
- Typsicherheit — automatische Konvertierung zwischen C++- und JSON-Typen. \n
- Hohe Leistung — die Bibliothek ist für Geschwindigkeit und Speicher optimiert. \n
- Plattformunabhängigkeit — funktioniert unter Windows, Linux, macOS sowie auf eingebetteten Systemen. \n
- Vollständige Unterstützung des JSON-Standards — einschließlich verschachtelter Objekte, Arrays, null, boolescher Werte, Zahlen und Zeichenketten. \n
Die Bibliothek wird aktiv in industriellen Projekten eingesetzt, wie z. B. in Spiele-Engines, Webservern, Datenanalysetools und IoT-Geräten.
\n\nInstallation von nlohmann/json
\n\nIm Gegensatz zu Python (wo pip verwendet wird) kann die Installation von Bibliotheken in C++ auf verschiedene Weise erfolgen. Betrachten wir die gängigsten.
\n\nMethode 1: Header-only (für Anfänger empfohlen)
\nDie Bibliothek nlohmann/json ist header-only — das bedeutet, dass es für die Verwendung ausreicht, einfach eine Header-Datei json.hpp herunterzuladen und in das Projekt einzubinden. Es ist keine Kompilierung, Verlinkung oder Installation von Abhängigkeiten erforderlich.
- \n
- Laden Sie die Datei
json.hppaus dem offiziellen Repository herunter (neueste Version: v3.11.3). \n - Platzieren Sie sie in einem Ordner Ihres Projekts, z. B.
include/json.hpp. \n - Binden Sie sie im Quellcode ein:
#include "json.hpp". \n
Methode 2: Installation über Paketmanager
\nWenn Sie moderne Build-Systeme verwenden, können Sie die Bibliothek über einen Paketmanager installieren:
\n- \n
- vcpkg (Windows, Linux, macOS):
vcpkg install nlohmann-json\n - Conan:
conan install nlohmann_json/3.11.3@\n - Homebrew (macOS):
brew install nlohmann-json\n - APT (Ubuntu/Debian):
sudo apt install nlohmann-json3-dev\n
Methode 3: CMake FetchContent
\nFür CMake-Projekte kann die Bibliothek während des Builds automatisch heruntergeladen werden:
\ninclude(FetchContent)\nFetchContent_Declare(\n json\n GIT_REPOSITORY https://github.com/nlohmann/json.git\n GIT_TAG v3.11.3\n)\nFetchContent_MakeAvailable(json)\ntarget_link_libraries(your_target PRIVATE nlohmann_json::nlohmann_json)\n\nSchnellstart: Erstes Beispiel
\n\nLassen Sie uns ein einfaches Programm schreiben, das ein JSON-Objekt erstellt, es auf dem Bildschirm ausgibt und dann einen JSON-String zurück parst.
\n\n#include <iostream>\n#include "json.hpp"\n\nusing json = nlohmann::json;\n\nint main() {\n // 1. Erstellen eines JSON-Objekts\n json person = {\n {"name", "Alice"},\n {"age", 30},\n {"is_student", false},\n {"skills", {"C++", "Python", "JSON"}},\n Auch in der Bibliothek
Standardbibliothek von JavaScript (Node.js): vollständiger Überblick
Aufgabenplaner für Node.js: node-schedule und node-cron
Netty für Java: Vollständiges Tutorial mit Beispielen
Hilt/Dagger für Kotlin: Vollständiger Leitfaden mit Beispielen