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

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

Barbara Streisand
リリース: 2024-12-21 18:50:10
オリジナル
776 人が閲覧しました

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート