ホームページ >ウェブフロントエンド >jsチュートリアル >Node.js でオブジェクトを JSON に変換するときに循環構造を処理するにはどうすればよいですか?

Node.js でオブジェクトを JSON に変換するときに循環構造を処理するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-21 18:50:10867ブラウズ

How to Handle Circular Structures When Converting Objects to JSON in Node.js?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。