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

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

目次

サンプル stringifyとは
  JavaScriptのオブジェクトをJSONにする
  stringifyメソッドの引数に関数を使用する
  stringifyメソッドで一致するキーのみ取得する
  stringifyメソッドでインデントを設定する
  (参考)JavaScriptのオブジェクトと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にする

JSON.stringify(jsのオブジェクト)
<script>
const obj1 = {color1:"赤",color2:"青"};

const json1 = JSON.stringify(obj1);

console.log(json1); //{"color1":"赤","color2":"青"}

</script>

2行目は、JavaScriptのオブジェクトです。
4行目は、stringifyメソッドで変換しています。
6行目は、JSONです。

stringifyメソッドの引数に関数を使用する

JSON.stringify(jsのオブジェクト,関数)
<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です。

stringifyメソッドで一致するキーのみ取得する

JSON.stringify(jsのオブジェクト,配列)
<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のみが表示されます。

stringifyメソッドでインデントを設定する

JSON.stringify(jsのオブジェクト,null,インデント)
<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のオブジェクトとJSONの違い

以下はJavaScriptのオブジェクトです。キー(color1とcolor2)にダブルコーテーションがついていません。

{
	color1:"赤",
	color2:"青"
}

以下は、JavaScriptのオブジェクトをconsole.logで確認したものです。
矢印をクリックすると項目が下に展開されます。

以下は、JSONです。キー(color1とcolor2)にダブルコーテーションがついています。

{
	"color1":"赤",
	"color2":"青"
}

関連の記事

JavaScript オブジェクトを走査するサンプル
JavaScript parse JSONから値を取得するサンプル

△上に戻る