У меня есть объект JSONКак запустить JSon абсолютный путь в функции
stateObj:{
template: {
cache:false,
ref :"templates/pages/menu",
searchability: true,
path: "content.AdminFichiers.aPropos.administrateurs",
lastUpdate: "Dernières mises à jour"
}
}
Я называю это, как этот
updatedata (stateObj.template.path);
функцию для обновления контейнера выглядит следующим образом
function updatedata (dataObj){
var final = "stateObj",
nameSplit = dataObj.split("."),
uls = document.createElement("ul");
for(i in nameSplit) {
final += '["' + nameSplit[i] +'"]'
}
console.log(final);
for(var i in final){
console.log(stateObj["content"]["AdminFichiers"]["aPropos"]["administrateurs"]);//this shows me the object
console.log(final);//this shows me stateObj["content"]["AdminFichiers"]["aPropos"]["administrateurs"] but i want the object
uls.innerHTML += "<li class='col-3 inline-block card aliceblue fadeIn'><div>Prenom: "+final[i]["prenom"]+"</div><div>Nom: "+final[i]["nom"]+"</div><div>Tel: "+final[i]["tel"]+"</div><div>Mail: "+final[i]["mail"]+"</div><div> Localisation: "+i+"</div></li>"
}
contentElement.appendChild(uls)
}
здесь console.log (окончательный);
stateObj["content"]["AdminFichiers"]["aPropos"]["administrateurs"]
и вот что я получаю в конце
почему я получаю Undefine везде?
Когда я сделать
for(var i in final){console.log(stateObj["content"]["AdminFichiers"]["aPropos"]["administrateurs"]); }
это показать мне результат как объект.
, как я могу запустить
stateObj["content"]["AdminFichiers"]["aPropos"]["administrateurs"]
на объекте
Чтобы извлечь из строки вы построили, вы должны использовать 'Eval()', но есть * много * более эффективные способы. Кроме того, не используйте 'for-in' в массиве в JS. Это чревато опасностью. Используйте цикл 'for'. –