2017-04-04 22 views
7

JSON dosyasını kullanıyorum ve Swagger 2.0 Parser and validator numaralı telefondan doğruladım, ancak geçerli olduğunu doğrulayan hatalar verdiyse, dairesel referansın konumunu saptamak için herhangi bir ücretsiz araç veya web sitesi var mı? dosya.JSON şemasında döngüsel bağımlılığı denetlemek için herhangi bir araç

+0

StackOverflow şu şekilde çalışır: Sorun yaşadığınız kodunuzu (ideal olarak bir [MCVE]) (http://stackoverflow.com/help/mcve) sunarsınız. Durumunuzda, döngüsel referans problemini temsil eden JSON test verilerini de göstermelisiniz. O zaman birisi sana yardım edebilir. Aksi takdirde sadece daha fazla oy alırsınız. Kimse cevapları için açık kabul kriterleri olmadan soruları yanıtlamayı sevmez. – kriegaex

cevap

2

Bence aradığınız şey zaten here cevabını verdi. Basitçe tarayıcı konsolu açıp bu javascript yazın: döngüsel başvuru olduğu

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; 
} 

Sonra IsCyclic(/*Json String*/) diyoruz, sonuç gösterecektir.