Grazie mille per la precisa risposta. Ovviamente è stato un errore di distrazione che non sono riuscito a correggere perchè non mi dava errore altrimenti avrei sicuramente messo quel var vicino alla i (ma non sapevo che su js andasse anche senza dichiararla) e mi sono trovato ingannato.
Si purtroppo non riesco a ricostruire bene quell'albero e quindi la stringa che interessa a me. Al momento sono arrivato a questo risultato ma si ferma quando raggiunge una foglia e non passa alle altre. Cosa sbaglio?
codice:<script> function costruisciExp(str) { var j = JSON.parse(str); var risultato = j[0].valore + "("; risultato += startBuild(j[0]); console.log(risultato); } function startBuild (ogg) { var stringa; var n = 0; for (var i=0; i<ogg.nodiSub.length; i++) { n++; stringa = ogg.nodiSub[i].valore; if(ogg.nodiSub[i].nodiSub.length > 0) { stringa += "("; stringa += startBuild(ogg.nodiSub[i]); } if(n != ogg.nodiSub.length) stringa += ","; } stringa += ")"; return stringa; } var prova = "[{\"valore\":\"DECODE\",\"nodiSub\":[{\"valore\":\"TRIM\",\"nodiSub\":[{\"valore\":\"DESCRIZIONE\",\"nodiSub\":[]}]},{\"valore\":\"''\",\"nodiSub\":[]},{\"valore\":\"DOMINIO\",\"nodiSub\":[]},{\"valore\":\"TRIM\",\"nodiSub\":[{\"valore\":\"DESCRIZIONE\",\"nodiSub\":[]}]}]}]"; costruisciExp(prova); </script>

Rispondi quotando