【Node.js24.x】Object::stringify()メソッドの使い方
stringifyメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
stringifyメソッドは、JavaScriptの値をJSON (JavaScript Object Notation) 形式の文字列に変換するメソッドです。主に、プログラム内で扱っているオブジェクトや配列などのデータを、ネットワークを通じて他のシステムに送信したり、ファイルに保存したりする際に利用されます。
このメソッドは、変換したい値を第一引数に取ります。例えば、JavaScriptのオブジェクトを渡すと、そのオブジェクトのプロパティと値をJSON形式の文字列に変換して返します。第二引数には、変換処理を細かく制御するためのオプションとして、関数(replacer関数)や、変換するプロパティのキーを指定する配列(replacer配列)を渡すことが可能です。これにより、特定のプロパティを除外したり、値の変換方法をカスタマイズしたりできます。
さらに、第三引数として、出力されるJSON文字列の可読性を高めるためのスペース数や文字列(space引数)を指定することもできます。この機能を利用すると、整形された(インデントされた)JSON文字列を生成でき、人間が読みやすい形式でデータを確認する際に非常に役立ちます。
ただし、JavaScriptのすべての値がJSONに変換できるわけではありません。関数、シンボル、undefinedといった値はJSON文字列には含まれず、オブジェクトのプロパティ値としてこれらの値があった場合、そのプロパティは無視されたり、nullに変換されたりします。また、オブジェクトが自身を参照するような循環参照を持つ場合、このメソッドはエラーを発生させますので注意が必要です。データ交換の標準フォーマットであるJSON形式への変換を簡単に行うことができるため、Webアプリケーション開発におけるAPI通信や設定ファイルの生成など、幅広い場面で活用される非常に重要な機能です。
構文(syntax)
1const dataToConvert = { 2 productId: "P12345", 3 productName: "Wireless Earbuds", 4 price: 79.99, 5 isInStock: true, 6 supplierInfo: { 7 company: "TechSupplies Inc.", 8 contactEmail: "sales@techsupplies.com" 9 }, 10 internalId: "internal_sku_789" 11}; 12 13const jsonOutput = JSON.stringify( 14 dataToConvert, 15 (key, value) => { 16 // 'internalId' プロパティはJSON文字列に含めない例 17 if (key === 'internalId') { 18 return undefined; 19 } 20 return value; 21 }, 22 2 // JSON文字列を2スペースでインデントして整形する例 23); 24 25console.log(jsonOutput);
引数(parameters)
引数なし
引数はありません
戻り値(return)
string
指定されたJavaScriptオブジェクトをJSON文字列に変換した結果を文字列として返します。