Niels Lohmann氏は、C++用のJSONライブラリであるJSON for Modern C++の最新バージョンとなる、「JSON for Modern C++ 3.10.0」を8月17日(現地時間)にリリースした。
「JSON for Modern C++ 3.10.0」では、新機能として無効な型エラーまたは範囲外エラーの正確な場所を示すJSONポインタを例外メッセージに追加する、拡張診断情報が追加されている。ライブラリ内の例外は、検出されたJSON値のローカルコンテキストでスローされるため、デバッグが困難になるが、新機能では各JSON値にその親値へのポインタが追加されるため、ルート値から例外につながる値へのパスとなるグローバルコンテキストを作成できる。なお、グローバルコンテキストはJSONポインタとして提供される。
ほかにも、GDBにおけるbasic_json値の読み取りを容易にすべく、GDBプリティプリンタが追加されるとともに、cbor_tag_handler_tに新しい値storeが追加され、CBOR値のタグをバイナリサブタイプとして格納することが可能になるなど、数多くの機能追加・改善が行われた。
なお、イテレータペアまたはポインタ/長さペアを初期化リストを介して解析関数(basic_json::parse、basic_json::accept、basic_json::sax_parse、basic_json::from_cbor、basic_json::from_msgpack、basic_json::from_ubjson、basic_json::from_bson)に渡すことが非推奨になるとともに、すでに非推奨となっているiterator_wrapperなどの関数は、次期バージョンで削除される予定となっている。
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です