エンターテイメント!!

遊戯王好きのJavaエンジニアのブログ。バーニングソウルを会得する特訓中。

`TypeError: Converting circular structure to JSON`の意味と対処

背景

JSでデバックのためにJSON.stringify()を使ったら発生した。

printデバックの是非は置いておいて、この事象の意味と、なぜ発症したのか、対象方法についてメモする。

意味

「循環参照しているJSONを変換しようとしている」って意味らしい。
Google翻訳より。。。

意味は分かった。
循環参照しているオブジェクトを渡したつもりはないのだが、循環参照構造になっているらしい。。。

対処方法

回避方法はあるみたいだが、面倒くさいから、npmモジュールのjson-cyclic入れて対応する。
下記の記述で対応可能。

JSON.stringify(decycle(XXXX))

対応した結果

たしかに、表示できた。
よくよく見たら、自分が想定してないデータを見ようとしていただけで、ちゃんと表示したデータを指定したらdecycleは必要なかった。。。
知識が溜まったから、良しとする?
不要だと知ったあとのやるせなさがなんとも言えない。。。

参考サイト

JSON.stringifyで`TypeError: Converting circular structure to JSON`というエラーが出た時の対処法 - Qiita

TypeError: cyclic object value - JavaScript | MDN

javascript - Chrome sendrequest error: TypeError: Converting circular structure to JSON - Stack Overflow