JavaScriptのJavaScriptオブジェクトをJSONにするサンプルです。
stringifyメソッドを使用します。
| 確認環境 ・Windows10 ・Google Chrome |
目次
- stringifyメソッド
- JavaScriptオブジェクトとJSON
- JavaScriptのオブジェクトをJSONにする
- JSONにする+関数でキーを指定して値を変更する
- JSONにする+配列の値とオブジェクトのキーで一致した値のみ取得
- JSONにする+インデントを設定する
stringifyメソッド
| 変数 = JSON.stringify(jsのオブジェクト[, 関数/配列[, 数値]]) |
- JavaScriptオブジェクトをJSONにします。
- 2つめの引数は、関数または配列を指定できます。3つめの引数のみを指定したい場合は、nullを指定します。
- 3つめの引数は、指定した数値分の空白文字でインデントします。最大10文字です。
- 戻り値は、JSONです。
- 以下は、MDNのstringifyのリンクです。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
JavaScriptオブジェクトとJSON
以下は、stringifyメソッドでJavaScriptオブジェクトからJSONに変換した場合の例です。
JavaScriptオブジェクト
{
color1:"赤",
color2:"青"
}
JSON
JSONは、キーにダブルコーテーションがついています。
{
"color1":"赤",
"color2":"青"
}
以下は、JavaScriptオブジェクトをconsole.logで確認したものです。
矢印をクリックすると項目が下に展開されます。

JavaScriptのオブジェクトをJSONにする
JavaScriptのオブジェクトをJSONにするサンプルです。
<script>
const obj1 = {color1:"赤",color2:"青"};
const json1 = JSON.stringify(obj1);
console.log(json1); //{"color1":"赤","color2":"青"}
</script>
2行目は、JavaScriptオブジェクトです。
4行目は、stringifyメソッドで変換しています。
6行目は、JSONです。
JSONにする+関数でキーを指定して値を変更する
関数でキーを指定して値を変更するサンプルです。
<script>
const obj1 = {color1:"赤",color2:"青"};
const json1 = JSON.stringify(obj1,(key,value)=>{
if ( key=="color1" ){
return "red";
}
return value ;
});
console.log(json1); //{"color1":"red","color2":"青"}
</script>
2行目は、オブジェクトです。
4行目は、stringifyメソッドの2つめの引数は関数です。
5-8行目は、キーがcolor1のとき、値をredで返し、それ以外はそのまま返します。
11行目は、指定したキー(color1)の値のみが変更されています。JSONです。
JSONにする+配列の値とオブジェクトのキーで一致した値のみ取得
配列の値とオブジェクトのキーで一致したデータのみ取得するサンプルです。
<script>
const obj1 = {color1:"赤",color2:"青",color3:"黄"};
const json1 = JSON.stringify(obj1,["color1","color3"]);
console.log(json1); //{"color1":"赤","color3":"黄"}
</script>
2行目は、オブジェクトです。
4行目は、stringifyメソッドの2つめの引数は配列です。
6行目は、4行目で指定したキーのデータのみが表示されます。JSONです。
JSONにする+インデントを設定する
インデントを設定するサンプルです。
<script>
//サンプル1
const obj1 = {color1:"赤",color2:"青"};
const json1 = JSON.stringify(obj1,null,1);
console.log(json1);
//サンプル2
const json2 = JSON.stringify(obj1,null,10);
console.log(json2);
</script>
5行目は、インデントを1に設定しています。
9行目は、インデントを10に設定しています。
実行結果は以下のようになります。

関連の記事
JavaScript オブジェクトを作成するサンプル
JavaScript prototypeでメソッドを追加するサンプル
JavaScript 継承のサンプル(プロトタイプチェーン)
JavaScript 連想配列のサンプル
JavaScript JSONをJavaScriptオブジェクトにする(parse)