JavaScript JavaScriptオブジェクトをJSONにする(stringify)

JavaScriptのJavaScriptオブジェクトをJSONにするサンプルです。
stringifyメソッドを使用します。

確認環境
・Windows10
・Google Chrome

目次

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)

△上に戻る