Qraft(クラフト) 資格・学習クイズアプリ

JavaScript入門 練習問題 23:組み込みオブジェクト:JSON形式との相互変換

次のコードの実行結果として正しいものはどれですか?

```javascript
const obj = { name: '田中', age: 25 };
const jsonStr = JSON.stringify(obj);
const parsedObj = JSON.parse(jsonStr);
console.log(typeof jsonStr, typeof parsedObj);
```

  1. string object
  2. object string
  3. object object
  4. string string
  5. undefined object

Qraftユーザーの成績:難易度 Dランク(レーティング1132)・正答率 79%(11/14回正解)
レーティングは解いた人の実力と正誤から算出する難しさ(初期値1200)。ランクはその全問題中の順位(S+が最難関、F-が最易)

正解と解説を見る
正解:string object

JSON.stringify()はオブジェクトを文字列(JSON形式のテキスト)に変換し、JSON.parse()はその文字列を再びオブジェクトに変換します。

【正解の理由】JSON.stringify(obj)はobjをJSON形式の文字列に変換するためjsonStrの型はstringになります。JSON.parse(jsonStr)はその文字列を解析してオブジェクトに戻すためparsedObjの型はobjectになります。

【不正解の理由】
• 「object string」:stringifyとparseの変換方向が逆になっており、実際の挙動と一致しない
• 「object object」:stringifyの結果は文字列であり、オブジェクトのままにはならない
• 「string string」:parseの結果は文字列ではなく、解析されたオブジェクトになる
• 「undefined object」:stringifyは正常にオブジェクトを文字列へ変換できるため、jsonStrがundefinedになることはない

← 前の問題問題一覧次の問題 →
アプリで解いてレーティングを上げる(無料・登録不要)