【JavaScript ECMAScript】JSON::JSON.rawJSON静的メソッドの使い方
JSON.rawJSON()静的メソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
JSON.rawJSON()メソッドは、JavaScriptオブジェクトをJSON文字列に変換する際、特定の文字列値を「生のJSON」として埋め込むことを可能にするメソッドです。
JSON.stringify()は通常、オブジェクト内の文字列値をJSONルールに従いエスケープします。しかし、既に完全なJSON形式の文字列(例:他のシステムから取得したデータ)をJavaScriptオブジェクトの一部として扱い、JSON.stringify()で二重にエスケープされるのを避けたい場合に利用します。
JSON.rawJSON()は、引数に渡されたJSON形式の文字列を、JSON.stringify()が特別に扱うべき「生のJSONデータ」としてマークする特殊なオブジェクトを生成します。これにより、該当の文字列はエスケープされることなく、そのままのJSON構造で出力されます。
この機能は、外部システムからのJSONデータをJavaScriptオブジェクトに含め、再度JSONとして出力する際に特に有用です。例えば、データベースに格納されたJSONデータをAPIレスポンスとして返すような場合に、不要なエスケープ処理を省き、効率的なJSON構築とデータの整合性維持を実現します。
引数には有効なJSON形式の文字列を渡す必要があります。無効な文字列を渡すと、JSON.stringify()での最終処理時にエラーや意図しないJSON出力の原因となるため、注意が必要です。
構文(syntax)
1const rawValue = JSON.rawJSON('{"key": "value", "number": 123}');
引数(parameters)
text
- text: string: JSON 文字列または JSON 形式のテキストを含む文字列。
戻り値(return)
RawJSON オブジェクト
JSON.rawJSON() メソッドは、JSON.rawJSON オブジェクトを返します。このオブジェクトは、JSON 文字列をそのままの形式で保持するために使用されます。