Vous pouvez utiliser dojox.json.ref
pour trouver des références circulaires. Ce code imprime une représentation json de votre objectWithCircularReferences
:
require(["dojox/json/ref"], function(){
console.log(dojox.json.ref.toJson(objectWithCircularReferences));
});
Toute occurrence de la sous-chaîne "$ref" dans sa sortie vers la console vous aidera à localiser les références circulaires. Vous pouvez également diriger cette sortie json vers la variable globale ZZZ comme ceci si vous le souhaitez :
require(["dojox/json/ref"], function(){
window.ZZZ = dojox.json.ref.toJson(objectWithCircularReferences);
});
Et bien sûr, vous devez inclure la bibliothèque dojo au préalable. Dans un fichier html :
<script src="//yandex.st/dojo/1.9.1/dojo/dojo.js"></script>
Dans la console firebug :
include("//yandex.st/dojo/1.9.1/dojo/dojo.js")
Dans la console Chrome :
SCRIPT = document.createElement('script');
SCRIPT.src = '//yandex.st/dojo/1.9.1/dojo/dojo.js';
document.body.appendChild(SCRIPT);