このプロジェクトについて

nlohmann/json(JSON for Modern C++)は、C++11以降にJSONサポートを提供するヘッダーオンリーのC++ライブラリです。実装全体が単一ファイル(single_include/nlohmann/json.hpp)に含まれており、外部依存や複雑なビルド設定は不要で、多くのパッケージマネージャーを通じて配布されています。演算子オーバーロードと初期化子リストを用いて直感的にオブジェクトや配列を構築でき、JSONをC++の第一級データ型のように扱えるよう設計されています。 このライブラリには、文字列・ストリーム・イテレータ範囲との間の解析およびシリアライズ、STL風の要素アクセス、JSON値と標準C++型との変換(特殊化による任意のユーザー定義型を含む)が含まれます。ドキュメントの照会と変更のためにJSON Pointer、JSON Patch、JSON Merge Patchを実装し、複数のバイナリシリアライズ形式(BSON、CBOR、MessagePack、UBJSON、BJData)をサポートします。イベント駆動型の用途向けにSAXスタイルの解析インターフェースも利用可能です。 READMEによると、このプロジェクトは徹底したテストを重視しています。100%のユニットテストカバレッジ、ValgrindとClangサニタイザーによるメモリチェック、Google OSS-Fuzzを通じた継続的なファズテストを実施しています。ドキュメント、FAQ、APIリファレンス、サンプルはjson.nlohmann.meで公開されています。統合オプションにはCMake、パッケージマネージャー、pkg-configがあります。このライブラリはUTF-8のみをサポートしており、他のエンコーディングはダンプ時にエラーハンドラーを設定する必要があります。