JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JSON.stringify()関数とは?JavaScriptでオブジェクトをJSON文字列に変換する方法

JSON.stringify()とは

JSON.stringify()は、JavaScriptの組み込みオブジェクトであるJSONが提供するメソッドの一つで、JavaScriptのオブジェクトや値をJSON形式の文字列に変換します。APIへのデータ送信やlocalStorageへの保存など、データを文字列として扱いたい場面で広く利用されています。

なお、引数に文字列を渡した場合は、その文字列が二重引用符で囲まれた形で返されます。

構文

JSON.stringify(value[, replacer[, space]])
  • value:JSON文字列に変換する対象の値(オブジェクト・配列・数値・文字列など)
  • replacer:省略可能。変換処理をカスタマイズする関数、または出力対象のプロパティを指定する配列
  • space:省略可能。インデント幅を指定する数値または文字列。指定すると出力が整形されて読みやすくなります

使用例1:オブジェクトをJSON文字列に変換する

<html>
<head>
    <title>JavaScript Example</title>
</head>
<body>
    <script type="text/javascript">
        var jsonObj = { Tutorial: "Java", Version: 8 };
        var result = JSON.stringify(jsonObj);
        document.write(result);
    </script>
</body>
</html>

出力結果

{"Tutorial":"Java","Version":8}

このように、オブジェクトのプロパティ名と値がそのままJSON形式の文字列に変換されます。

使用例2:文字列を渡した場合

引数に文字列を渡すと、その文字列全体が二重引用符で囲まれて返されます。

<html>
<head>
    <title>JavaScript Example</title>
</head>
<body>
    <script type="text/javascript">
        var jsonSample = '{Tutorial: Java, Version:8}';
        var result = JSON.stringify(jsonSample);
        document.write(result);
    </script>
</body>
</html>

出力結果

"{Tutorial: Java, Version:8}"

まとめ

JSON.stringify()は、JavaScriptの値をJSON文字列へ変換するシンプルながら強力なメソッドです。逆に、JSON文字列をオブジェクトに戻したい場合はJSON.parse()を使用します。両者を組み合わせることで、クライアントとサーバー間のデータ送受信やブラウザへのデータ保存などを柔軟に実現できます。

  1. JavaScriptの関数プロトタイプとは?仕組みと使い方を解説

    JavaScriptで作成されたすべての関数には、JavaScriptエンジンによって自動的にprototypeプロパティが追加されます。このprototypeプロパティはオブジェクトであり、デフォルトではconstructorプロパティを含んでいます。関数のプロトタイプには、以下のようにしてアクセスできます。functionName.prototypeコンストラクタ関数を使ってオブジェクトを生成する場合、このprototypeプロパティを活用することで、同じコンストラクタから作成された複数のオブジェクト間でメソッドやプロパティを効率的に共有することができます。これにより、各インスタンスごとに

  2. JavaScriptでのメソッド借用:call()・apply()・bind()の使い方を解説

    JavaScriptでは、call()、apply()、bind()という3つのメソッドを使うことで、あるオブジェクトが持つメソッドを別のオブジェクトが「借用」できます。これは、本来そのメソッドを持たないオブジェクトに対して、thisの参照先を差し替えてメソッドを実行できる便利なテクニックです。 3つのメソッドの違い call():引数をカンマ区切りで個別に渡し、即座に関数を実行します。 apply():引数を配列(または配列風オブジェクト)として渡し、即座に関数を実行します。 bind():thisを固定した新しい関数を返すだけで、即座には実行されません。返された関数は後から好きなタイミン