C LANGUAGE TECHNOLOGY

【C/C++言語】おすすめのJSONライブラリ

悩んでいる人

C/C++言語でおすすめのJSONライブラリを教えて!

こういった悩みにお答えします.

本記事の信頼性

  • リアルタイムシステムの研究歴12年.
  • 東大教員の時に,英語でOSの授業.
  • 2012年9月~2013年8月にアメリカのノースカロライナ大学チャペルヒル校コンピュータサイエンス学部2021年の世界大学学術ランキングで20位)で客員研究員として勤務.C言語でリアルタイムLinuxの研究開発
  • プログラミング歴15年以上,習得している言語: C/C++Solidity/Vyper,Java,Python,Ruby,HTML/CSS/JS/PHP,MATLAB,Assembler (x64,ARM).
  • 東大教員の時に,C++言語で開発した「LLVMコンパイラの拡張」,C言語で開発した独自のリアルタイムOS「Mcube Kernel」GitHubにオープンソースとして公開

こういった私から学べます.

JSON

JSONとは,JavaScript Object Notationの略で,データ記述言語の1つです.

JSONの特徴は,軽量なテキストベースのデータ交換用フォーマットであり,プログラミング言語を問わず利用できることです.

そこで,本記事では,C/C++言語でおすすめのJSONライブラリを紹介します.

C/C++言語でおすすめのJSONライブラリ

C/C++言語でおすすめのJSONライブラリを紹介します.

C言語:parson

parsonは,C言語で書かれた軽量なJSONライブラリです.

parsonの特徴は以下になります.

  • 軽量(1つのCファイルと1つのヘッダファイルのみ)
  • シンプルなAPI
  • ドット記法によるJSON値のアドレス指定(C言語の構造体や多くのオブジェクト指向のプログラミング言語におけるオブジェクトに類似,例:"objectA.objectB.value")
  • C89互換
  • 多くのテストスイート

parsonライブラリのコードは,約2,700行です.

C言語:cJSON

cJSONは,C言語のANSI Cに準拠した超軽量はJSONライブラリです.

cJSONの特徴は以下になります.

  • 軽量(1つのCファイルcJSON.cと1つのヘッダファイルcJSON.hのみ)
  • 多くのビルドオプション
  • 詳細なドキュメント
  • 多くのテストスイート

cJSONのコードは,約3,400行です.

C言語:Jansson

Janssonは,JSONデータのエンコード,デコード,操作のためのCライブラリです.

Janssonの特徴は以下になります.

  • シンプルで直感的なAPIとデータモデル
  • 包括的なドキュメント
  • 他のライブラリへの依存なし
  • Unicodeの完全サポート(UTF-8)
  • 多くのテストスイート

Janssonのコードは,約11,500行です.

C言語:JSON-C

JSON-Cは,C言語でJSONオブジェクトを簡単に構築し,JSON形式の文字列として出力,解析して,JSONオブジェクトのC言語の表現に戻すことができる参照カウントオブジェクトのモデルを実装するライブラリです.

JSON-Cの特徴は以下になります.

  • 詳細なドキュメント
  • Doxygen/Valgrindをサポート
  • 多くのテストスイート

JSON-Cのコードは,約13,000行です.

C++言語:json

jsonは,C++言語によるJSONライブラリです.

jsonの特徴は以下になります.

  • 直感的な構文
  • 簡単な統合(single_include/nlohmann/json.hppのみ)
  • 本格的なテスト

jsonのコードは,約23,400行です.

C++言語:PicoJSON

PicoJSONは,C++言語用の小さなJSONパーサ・シリアライザのライブラリです.

PicoJSONの特徴は以下になります.

  • ヘッダファイルのみ
  • 外部依存なし(標準的な C++ ライブラリのみを使用します)
  • STL-frendly(配列はstd::vectorで,オブジェクトはstd::mapで表現する)
  • プルインタフェースとストリーミング(イベントベース)インタフェースの両方を提供する

PicoJSONのコードは,約1,200行です.

まとめ

C/C++言語でおすすめのJSONライブラリを紹介しました.

いろいろ使ってみて,あなたにあうJSONライブラリを見つけましょう!

C言語を独学で習得することは難しいです.

私にC言語の無料相談をしたいあなたは,公式LINE「ChishiroのC言語」の友だち追加をお願い致します.

友だち追加

独学が難しいあなたは,元東大教員がおすすめするC言語を学べるオンラインプログラミングスクール5社で自分に合うスクールを見つけましょう.後悔はさせません!

-C LANGUAGE, TECHNOLOGY
-, , , , ,