JSON シリアル化の循環構造
オブジェクトの JSON への変換中に循環構造が発生すると、JSON.stringify() 関数によって「TypeError」が発生します。 : 循環構造を JSON に変換しています」または「TypeError: 循環オブジェクト値」エラー。この問題に対処するには、循環参照を破棄し、残りのデータを文字列化します。
Node.js では、組み込みユーティリティ モジュールが util.inspect(object) メソッドを提供します。この関数は、循環参照を自動的に「[Circular]」に置き換えます。
モジュールのインポート
メソッドを使用する前に、メソッドをインポートする必要があります:
import * as util from 'util';
使用方法
使用するにはこのメソッドでは、検査するオブジェクトを渡すだけです:
console.log(util.inspect(myObject));
Options
オプションのオプション オブジェクトを渡して検査をカスタマイズすることもできます:
inspect(myObject[, options: {showHidden, depth, colors, showProxy, ...moreOptions}]);
例
次の場合object:
var obj = { a: "foo", b: obj };
util.inspect を使用すると、次のようにオブジェクトを文字列化できます:
util.inspect(obj);
これにより、次の JSON のような出力が生成されます:
{ a: 'foo', b: '[Circular]' }
これで、循環参照エラーが発生することなく、シリアル化されたオブジェクトを安全に送信できるようになりました。
以上がNode.js でオブジェクトを JSON に変換するときに循環構造を処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。