Web APIから受け取った「JSON形式の文字列データ」を、JavaScriptのプログラム内で扱いやすい「オブジェクト(または配列)」に変換するために使用するメソッドはどれですか?
解説
正解と要点正解は JSON.parse() です。このメソッドは、引数として渡されたJSON形式の文字列(テキストデータ)を解析し、対応するJavaScriptのオブジェクトや配列に変換します。なぜその答えなのか「JSON文字列をオブジェクトに変換するには」と調べたときに行き着くのが JSON.parse() です。対になるメソッドとして JSON.stringify()(選択肢1)がありますが、これは逆に「JavaScriptのオブジェクトをJSON文字列に変換する」ために使います。検索エンジンでよく調べられる「JSON.parse JSON.stringify 違い」ですが、簡単に言うと parse は「文字列からオブジェクトへ」、stringify は「オブジェクトから文字列へ」の変換という明確な違いがあります。選択肢3の Object.assign() はオブジェクト同士を結合するメソッドであり、選択肢4は架空のメソッドのため不正解です。背景・仕組みJSON(JavaScript Object Notation)は、データをやり取りするための軽量なデータフォーマットです。JavaScriptのオブジェクト記法をベースにしていますが、あくまで単なる「文字列」です。サーバーからWeb API経由でデータを受け取る際、データはテキストとして送られてくるため、そのままではJavaScriptのプログラムでプロパティ(user.name など)に直接アクセスできません。つまり、受け取ったテキストデータをJavaScriptが理解できる形式に「翻訳」する作業が必要であり、それを担うのが JSON.parse() なのです。よくあるミスとエラー初学者が非常によく遭遇するのが、不正な形式のJSON文字列をパースしようとして起きるエラーです。たとえば、プロパティ名をダブルクォーテーションで囲んでいない場合や、シングルクォーテーションを使っている場合、コンソールに 'SyntaxError: Unexpected token...' というエラーが表示され、プログラムがクラッシュしてしまいます。/* エラーになるアンチパターン */ const badJson = '{ name: "Taro" }'; /* プロパティ名がダブルクォートで囲まれていない */ /* 実行すると SyntaxError が発生する */ const obj = JSON.parse(badJson);実務での活用例現場のプロジェクトでは、外部APIからのデータ取得(fetch API など)や、ブラウザの localStorage(ローカルストレージ)からデータを読み込む際によく使用されます。ローカルストレージには文字列しか保存できないため、オブジェクトを保存・取得する際には JSON.parse() と JSON.stringify() の組み合わせが必須になります。具体的には、以下のように try...catch 文で囲み、パース失敗時のエラーを安全にハンドリングするのがベストプラクティスです。/* 実務で推奨される安全なパース処理 */ const jsonString = '{ "name": "Taro", "age": 25 }'; try { const user = JSON.parse(jsonString); console.log(user.name); /* Taro */ } catch (error) { console.error('JSONパース失敗:', error); }