JavaScript
A handy way to turn your JavaScript data into text so you can save or send it easily.
JSON.stringify()
JavaScriptのデータを「文字列」に変えて、保存や送信に使える形にするための便利な変換機能。
JSON.stringify() とは?
JSON.stringify() は、JavaScript の「オブジェクト」や「配列」などを、文字(テキスト)として表現できる形に変えるメソッドです。
つまり、「プログラムの中のデータ」を「文字として保存したり送ったりできる形」にするための変換ツールです。
ふだん私たちが見ているオブジェクトは、JavaScript の中でしか使えません。
でも、サーバーに送ったり、ファイルに保存したり、他の場所で使いたいときには「文字列」にしておく必要があります。
そのときに役立つのが JSON.stringify() です。
基本の使い方
こう書けばOKです:
const data = { name: "Taro", age: 25 };
const jsonText = JSON.stringify(data);
console.log(jsonText);
出力結果:
このように、オブジェクトが「JSON形式の文字列」に変わります。
よくある使いどころ
- Web サーバーへデータを送るとき(API など)
- ローカルストレージ(
localStorage)に保存するとき
- ファイルに出力したいとき
- デバッグで中身を確認したいとき(読みやすく整形することも可能)
整形して見やすくする方法
第2・第3引数を使うと、見やすく整えた文字列にできます。
const user = { name: "Mika", hobby: ["music", "reading"] };
const pretty = JSON.stringify(user, null, 4);
console.log(pretty);
出力結果:
{
"name": "Mika",
"hobby": [
"music",
"reading"
]
}
このように「4つのスペース」でインデントされた見やすい形になります。
ワンポイント
- 「関数」や「undefined」は変換できず、結果に含まれません。
- 文字列にしたものは、逆に
JSON.parse() を使えば元の形に戻せます。