JavaScriptのJSON.stringify()とは?使い方とサンプルコードでわかりやすく解説
JSON.stringify()メソッドとは?
JavaScriptのJSON.stringify()は、JavaScriptオブジェクトをJSON形式の文字列に変換するためのメソッドです。Webサーバーへデータを送信する際や、localStorageにデータを保存する際など、データを文字列として扱いたい場面で特に役立ちます。
基本構文
JSON.stringify(value, replacer, space)
- value:JSON文字列に変換したいオブジェクトや配列(必須)
- replacer:出力するプロパティを関数や配列で選択できる(省略可能)
- space:インデント用の空白の数。指定すると見やすく整形されたJSONが出力される(省略可能)
なお、undefined、関数、シンボルはJSON文字列に変換されず、自動的に除外される点には注意が必要です。
JSON.stringify()のサンプルコード
以下は、オブジェクトをJSON文字列に変換して画面に表示する具体的なコード例です。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
body {
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
.sample {
font-size: 18px;
font-weight: 500;
color: red;
}
</style>
</head>
<body>
<h1>JSON.stringify()</h1>
<div class="sample"></div>
<div style="font-weight: bold;" class="result"></div>
<button class="Btn">CLICK HERE</button>
<h3>
上のボタンをクリックすると、オブジェクトがJSON文字列に変換されます
</h3>
<script>
let sampleEle = document.querySelector(".sample");
let resultEle = document.querySelector(".result");
let obj = {name: "Rohan",sports: ["Cricket", "Football"],Country: "India"};
sampleEle.innerHTML ="Name = " +obj.name +"<br>" +" Country = " +obj.Country +
" <br>" +"sports = " +obj.sports;
document.querySelector(".Btn").addEventListener("click", () => {
resultEle.innerHTML = JSON.stringify(obj);
});
</script>
</body>
</html>
このコードでは、名前・国・好きなスポーツを持つオブジェクトを作成し、ボタンがクリックされたタイミングでJSON.stringify()を実行して結果を表示しています。
実行結果
ページを読み込むと、まずオブジェクトの各プロパティの値が画面に表示されます。

続いて、「CLICK HERE」ボタンをクリックすると −

オブジェクト全体が {"name":"Rohan","sports":["Cricket","Football"],"Country":"India"} という1行のJSON文字列に変換されて表示されます。
まとめ
- JSON.stringify()を使うと、オブジェクトをサーバー送信や保存に適した文字列形式へ変換できる
- 第2引数・第3引数を活用すれば、出力内容の絞り込みや整形も可能
- 逆にJSON文字列からオブジェクトへ戻したい場合は、
JSON.parse()を使用する
-
JavaScriptにおける継承の基本を具体例で解説
JavaScriptは、クラスベースではなくプロトタイプベースのオブジェクト指向言語です。そのため、継承はprototype(プロトタイプ)オブジェクトを通じて実現されます。コンストラクタ関数のprototypeプロパティにメソッドやプロパティを追加すると、そのコンストラクタから生成されたすべてのインスタンスが、それらを共有して利用できるようになります。 プロトタイプによる継承の仕組み JavaScriptでは、インスタンスからプロパティやメソッドが参照されるとき、まずオブジェクト自身を検索し、見つからなければプロトタイプチェーンをたどって上位のオブジェクトへと探しに行きます。これにより、各イ
-
【初心者向け】JavaScriptでオブジェクトのディープクローンを作成する方法を実例付きで解説
はじめにJavaScriptでは、単純な代入(=)やObject.assign()などによるコピーはシャローコピー(浅いコピー)となり、元のオブジェクトとプロパティへの参照が共有されてしまいます。そのため、一方を変更するともう一方にも影響が及びます。これを防ぐには、参照関係まで完全に切り離したディープクローン(深いコピー)を作成する必要があります。本記事では、JSON.parse(JSON.stringify()) を使ったシンプルな方法で、オブジェクトのディープクローンを作成する例を紹介します。ディープクローンのサンプルコード以下のコードでは、ボタンをクリックすると元のオブジェクト obj