JSON に変換して送信したい大きなオブジェクトがあります。ただし、循環構造になっているため、使用しようとすると次JSON.stringify()
のようになります。
TypeError: 循環構造を JSON に変換しています
または
TypeError: 循環オブジェクト値
循環参照が存在する場合はそれを破棄し、文字列化できるものはすべて送信したいです。どうすればいいでしょうか?
ありがとう。
var obj = {
a: "foo",
b: obj
}
obj を次のように文字列化したい:
{"a":"foo"}
ベストアンサー1
Node.jsでは、util.inspect(オブジェクト)循環リンクは自動的に「[Circular]」に置き換えられます。
組み込み(インストール不要)ですが、インポートする必要があります
import * as util from 'util' // has no default export
import { inspect } from 'util' // or directly
// or
var util = require('util')
使用するには、電話するだけです
console.log(util.inspect(myObject))
また、検査にオプションオブジェクトを渡すこともできることに注意してください(上記のリンクを参照)。
inspect(myObject[, options: {showHidden, depth, colors, showProxy, ...moreOptions}])
ぜひ読んで、以下のコメントに賛辞を送ってください...