11521 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Sur ma page mon fichier JSON n'apparaît qu'à moitié et je cherche mon erreur dans mon code mais je ne comprends pas pourquoi une partie s'affiche et pas l'autre, serez vous me dire si vous constater une erreur ?
Merci Smiley biggrin
function loadJSON(callback) {   

  var xobj = new XMLHttpRequest();
      xobj.overrideMimeType("application/json");
  xobj.open('GET', 'sample.json', true); 
  xobj.onreadystatechange = function () {
        if (xobj.readyState == 4 && xobj.status == "200") {
          
          callback(xobj.responseText);
        }
  };
  xobj.send(null);  
}
function init() {
  loadJSON(function(response) {
  
     this.myObj = JSON.parse(response);
     console.log(myObj);
     
  
x += loops(myObj.Liferay6);

x += loops(myObj.listeVMs);

x += loops(myObj.y20);

x +="<hr>";

x += loops(myObj.Liferay7);


x += loops(myObj.Liferay7.listeVMs);

x+= loops(myObj.Liferay7.y20);

x+= loops(myObj.g2dd1pnds);


document.getElementById("demo").innerHTML = x;

  });
 }

 var myObj, i, j, x = ""; 



function loops (MyJson){  
  console.log(MyJson);
  let Value= '<ul>';
 
  for (let key in MyJson){   
    let Value2 = MyJson[key], TypeOf = typeof Value2;
    if(TypeOf === "object"){
      if(Array.isArray(Value)=== true){  
       
        Value += '<li>'+ key +" : ";
        for (let j = 0; j < Value2.length; j++) {  
          Value += loops(mValue[j])
        }     
        Value += '</li>';   
      } else if(Value2 != null){
       
        Value += '<li>'+ key +" : "+loops(Value2)+'</li>'; ; 
      } 
    } else if(TypeOf === 'string') {
      Value += "<li>"+ key + " : " + Value2 + "</li>";        
    } 
  } 
  return Value +'</ul>';
}   


init();

Modifié par cecilia0909 (30 Oct 2019 - 15:34)
Hello,
Tu peu déjà copier le contenu de ta variable "myObj" dans un fichier extérieur genre "monfichier.json" après un appel dans ce style suffira.


$.getJSON( "monfichier.json", function( datas_json ) {
       //Manipulation du JSON suivant les besoins de ton application
	alert(datas_json .Liferay6.code);
});


Documentation
gray_magic a écrit :
Hello,
Tu peu déjà copier le contenu de ta variable "myObj" dans un fichier extérieur genre "monfichier.json" après un appel dans ce style suffira.


$.getJSON( "monfichier.json", function( datas_json ) {
       //Manipulation du JSON suivant les besoins de ton application
	alert(datas_json .Liferay6.code);
});


Documentation


Merci ! =)