私はオブジェクトツリー構造を返す関数を持っています。しかし、このツリー構造には循環参照が含まれています。 (注:データモデルでこの循環性が必要なので、変更することはできません)。私はこのような範囲にこのオブジェクトを添付:anglejsのJSON.stringifyを上書きする
$scope.tree = myService.getTree(); //This return the circular structure
は、その後、私はこのように私のhtmlファイルでこれを表示してみました:
{{tree}}
しかし、私はこれを行うにしようとすると、それは私に、このエラーが発生します:
TypeError: Converting circular structure to JSON
私は私のhtmlファイルに{{木}}呼び出すときに知っている、angularjs私のためJSON.stringify(木)に呼びかけています。私の質問は、JSON.stringifyの動作をどのように上書きするかです。たとえば、object tree内の循環性を検出し、これまでに生成したjson文字列を返した場合(エラーを返すのではなく)、オブジェクトツリーの直列化を停止するように、angleまたはJSON.stringifyに伝えることができます。
または、オブジェクト全体のJSON.stringifyを呼び出さず、代わりにオブジェクトツリー内の個々のオブジェクトに対してJSON.stringifyまたはJSON.toStringを呼び出すように動作を上書きできますか。私が呼び出した場合 たとえば、:
{{tree.person.name}}
その後、角度のみツリーオブジェクトや人物オブジェクトの文字列化を呼び出します。
をお試しください:http://stackoverflow.com/questions/10392293/stringify-convert-to-json-a-javascript-object-with-circular-reference – tymeJV