デシリアライズ【deserialize】デシリアライゼーション

別名  :deserialization/逆シリアル化

概要

デシリアライズとはシリアライズによって単一の文字列やバイト列に変換されたデータを、元の複合的なデータ構造オブジェクトに復元する処理のこと。シリアライズと常にセットで定義され、保存や伝送されたデータプログラムが再び扱える状態に戻す際に用いられる。
デシリアライズのイメージ画像

プログラムが実行中にメモリ上で扱うデータは、複数の変数やオブジェクトが相互に参照し合う複雑な構造を持つことが多い。こうした構造はそのままではファイルへの保存やネットワーク越しの送受信に適さないため、特定の規則に従って一つの連続したデータ列として表現する「シリアライズ」(serialize)が行われる。

デシリアライズはその逆操作にあたり、ストレージから読み込んだデータや別のコンピュータから受信したデータを解析し、元の構造を持つオブジェクトデータ集合としてメモリ上に再構築する。例えば、Web APIから受信したJSONデータプログラム内のオブジェクトへ展開する処理や、アプリケーションが起動時に設定ファイルを読み込んでプログラム上の変数群へ変換する処理がこれに当たる。

シリアライズとデシリアライズは対になる機能として提供され、特定の形式でシリアライズされたデータは、対応するデシリアライズ処理によってのみ正確に復元できる。ただし、変換時に一部の情報が省略されている場合や、保存時と復元時でデータ定義が異なる場合には、完全に元の状態へ戻せないこともある。元になるデータ形式としては、JSONXMLYAMLといったテキスト形式のほか、Protocol Buffersのようなバイナリ形式もある。言語や処理系によっては、この復元処理を「パース」(parse)や「アンマーシャル」(unmarshal)と呼ぶこともある。

セキュリティ上の問題としては、信頼できない外部入力をそのままデシリアライズすることで任意のコードが実行される「安全でないデシリアライゼーション」と呼ばれる脆弱性が知られている。OWASP Top 10にも継続的に挙げられてきた攻撃経路であり、デシリアライズ前の入力検証やデータの改竄検知、復元可能な型の制限といった対策が求められる。

(2026.6.18更新)
 

他の辞典等による「デシリアライズ」の解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。