メニュー
ブログ更新履歴
コンテンツ更新履歴
リンク
  • rlib-MML WebApp
  • MML (Music Macro Language) をコンパイルし、再生やファイル出力(MP4、標準MIDIファイル)をブラウザ上で行えます。
  • Magome
  • クラウドベースのMIDIシーケンサ
    音楽制作に興味のある方を対象に、スタンドアロンでも使え、ネットならではの面白さも兼ね備えた音楽制作アプリの提供を目指しています。
twitter
  2021年3月の月別アーカイブ
Thinkridge スタッフ 雑感を綴る

JSONパーサーをGitHubで公開しました

JSONパーサーを GitHub で公開してみました。C++11 での実装です。

rlib-Json

とはいえ、世には沢山のJSONパーサーが存在している上に Boost.JSON も出来たようですし、いまさら? というご感想ごもっともだと思います。

なので現実的には既存のものを採用すればよいと思うのですが、JSON の仕様は比較的シンプルなので自前実装もアリかなと思いました。

JSON にコメントを書きたいし、配列&連想配列の末項のカンマ記述を許したい。という付加機能あたりと、JSON Pointer なる仕様も(緩く)実装しています。
C++11未満とストリーム入力のパースは切り捨てているので、コード量は少な目だと思います。
昨今のライセンス事情よくわかっておりませんが、いちばん緩い条件と思われる CC0 にしています。

Boost.JSON が出来たことで、C++界隈でJSONを扱う場合はコレが本命になるのかなーと漠然と思っています。
となると Boost.property_tree のほうの JSONはどうするんだろという疑問もわきます。
property_tree には XML の実装もありますが、どちらも property_tree っていうデータ構造に対するちょっと便利な付加機能っぽい印象だったので、用途が違うのかなとも思いました。


アーカイブ