I am using JSON file and validated it on Swagger 2.0 Parser and validator it validates it but give error of circular reference, is there any free tool or website to detect the position of circular reference in a file.
Asked
Active
Viewed 2,548 times
5
-
StackOverflow works like this: You present come code you have problems with, ideally an [MCVE](http://stackoverflow.com/help/mcve). In your case you should also show the JSON test data representing the circular reference problem. Then somebody can help you. Otherwise you will just receive more close votes. Nobody likes to answer questions without clear acceptance criteria for their answers. – kriegaex Apr 06 '17 at 10:53
1 Answers
4
I think what you are looking for is already answered here. Simply open your browser console and type this javascript :
function isCyclic(obj) {
var keys = [];
var stack = [];
var stackSet = new Set();
var detected = false;
function detect(obj, key) {
if (typeof obj != 'object') { return; }
if (stackSet.has(obj)) { // it's cyclic! Print the object and its locations.
var oldindex = stack.indexOf(obj);
var l1 = keys.join('.') + '.' + key;
var l2 = keys.slice(0, oldindex + 1).join('.');
console.log('CIRCULAR: ' + l1 + ' = ' + l2 + ' = ' + obj);
console.log(obj);
detected = true;
return;
}
keys.push(key);
stack.push(obj);
stackSet.add(obj);
for (var k in obj) { //dive on the object's children
if (obj.hasOwnProperty(k)) { detect(obj[k], k); }
}
keys.pop();
stack.pop();
stackSet.delete(obj);
return;
}
detect(obj, 'obj');
return detected;
}
Then you call IsCyclic(/*Json String*/)
, the result will show where the circular reference is.

Community
- 1
- 1

Thomas Suberchicot
- 203
- 1
- 8